roboforum.ru

Технический форум по робототехнике.

Тележка с манипулятором и брандспойтом

Обсуждаем рождающиеся мысли и результаты экспериментов.

Re: Тележка с манипулятором и брандспойтом

Сообщение Dmitry__ » 26 окт 2014, 17:53

slom писал(а):какй рс 232? нет у меня такого

:)
Это последовательный интерфейс, символы от которого ты смотришь в терминалке.
Некруто не делать того что просят, кому это надо? Какой модуль? Первое сообщение не изменилось. Одним словом, кури. Тут разные грабли:
http://we.easyelectronics.ru/GYUR22/bluetooth-modul-hc06-s-dx.html
Тут что-то про синенькую плату (похожую на твою по фотке), другой инфы про твой модуль у меня нет :pardon: Там что-то говорится об подтяжке сигнала KEY "pull-up this pin while power-on-reset "
http://mcuoneclipse.com/2013/06/19/using-the-hc-06-bluetooth-module/
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Тележка с манипулятором и брандспойтом

Сообщение slom » 26 окт 2014, 19:10

чтото я там ничего не понял.


зато вспомнил что у меня есть еще инфракрасный пульт, может его можно присобачить?
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: Тележка с манипулятором и брандспойтом

Сообщение Dmitry__ » 26 окт 2014, 19:49

Ну, сегодня побед было много. Отвлекись на что-то другое, победим мы твою штуку и ТЕБЯ :)

Добавлено спустя 3 минуты 52 секунды:
Кста, для 3д maxера, очень даже хороший старт в ембеддед электронике, такшта все получится... :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Тележка с манипулятором и брандспойтом

Сообщение slom » 26 окт 2014, 20:03

да какой там старт, так и не разобрался че оно не работает...
и самое непонятное чего оно перестало на команды отвечать?
раньше писал оно отвечало а сейчас че то не хочет, что могло случиться?

Добавлено спустя 11 минут 57 секунд:
а может раздобыть какуюто другую прошивку от других проектов? где тоже роботы на блютусе работают?

я вот еще находил какие то файлы

Wild_Thumper_Controller.pde

Код: Выделить всёРазвернуть
#include <Servo.h>
#include "IOpins.h"
#include "Constants.h"


//-------------------------------------------------------------- define global variables --------------------------------------------

unsigned int Volts;
unsigned int LeftAmps;
unsigned int RightAmps;
unsigned long chargeTimer;
unsigned long leftoverload;
unsigned long rightoverload;
int highVolts;
int startVolts;
int Leftspeed=0;
int Rightspeed=0;
int Speed;
int Steer;
byte Charged=1;                                               // 0=Flat battery  1=Charged battery
int Leftmode=1;                                               // 0=reverse, 1=brake, 2=forward
int Rightmode=1;                                              // 0=reverse, 1=brake, 2=forward
byte Leftmodechange=0;                                        // Left input must be 1500 before brake or reverse can occur
byte Rightmodechange=0;                                       // Right input must be 1500 before brake or reverse can occur
int LeftPWM;                                                  // PWM value for left  motor speed / brake
int RightPWM;                                                 // PWM value for right motor speed / brake
int data;
int servo[7];

//-------------------------------------------------------------- define servos ------------------------------------------------------


Servo Servo0;                                                 // define servos
Servo Servo1;                                                 // define servos
Servo Servo2;                                                 // define servos
Servo Servo3;                                                 // define servos
Servo Servo4;                                                 // define servos
Servo Servo5;                                                 // define servos
Servo Servo6;                                                 // define servos

void setup()
{
  //------------------------------------------------------------ Initialize Servos ----------------------------------------------------

  Servo0.attach(S0);                                          // attach servo to I/O pin
  Servo1.attach(S1);                                          // attach servo to I/O pin
  Servo2.attach(S2);                                          // attach servo to I/O pin
  Servo3.attach(S3);                                          // attach servo to I/O pin
  Servo4.attach(S4);                                          // attach servo to I/O pin
  Servo5.attach(S5);                                          // attach servo to I/O pin
  Servo6.attach(S6);                                          // attach servo to I/O pin

  //------------------------------------------------------------ Set servos to default position ---------------------------------------

  Servo0.writeMicroseconds(DServo0);                          // set servo to default position
  Servo1.writeMicroseconds(DServo1);                          // set servo to default position
  Servo2.writeMicroseconds(DServo2);                          // set servo to default position
  Servo3.writeMicroseconds(DServo3);                          // set servo to default position
  Servo4.writeMicroseconds(DServo4);                          // set servo to default position
  Servo5.writeMicroseconds(DServo5);                          // set servo to default position
  Servo6.writeMicroseconds(DServo6);                          // set servo to default position

  //------------------------------------------------------------ Initialize I/O pins --------------------------------------------------

  pinMode (Charger,OUTPUT);                                   // change Charger pin to output
  digitalWrite (Charger,1);                                   // disable current regulator to charge battery

  if (Cmode==1)
  {
    Serial.begin(Brate);                                      // enable serial communications if Cmode=1
    Serial.flush();                                           // flush buffer
  }
  //Serial.begin(57600);
}


void loop()
{
  //------------------------------------------------------------ Check battery voltage and current draw of motors ---------------------

  Volts=analogRead(Battery);                                  // read the battery voltage
  LeftAmps=analogRead(LmotorC);                               // read left motor current draw
  RightAmps=analogRead(RmotorC);                              // read right motor current draw

  //Serial.print(LeftAmps);
  //Serial.print("    ");
  //Serial.println(RightAmps);

  if (LeftAmps>Leftmaxamps)                                   // is motor current draw exceeding safe limit
  {
    analogWrite (LmotorA,0);                                  // turn off motors
    analogWrite (LmotorB,0);                                  // turn off motors
    leftoverload=millis();                                    // record time of overload
  }

  if (RightAmps>Rightmaxamps)                                 // is motor current draw exceeding safe limit
  {
    analogWrite (RmotorA,0);                                  // turn off motors
    analogWrite (RmotorB,0);                                  // turn off motors
    rightoverload=millis();                                   // record time of overload
  }

  if ((Volts<lowvolt) && (Charged==1))                        // check condition of the battery
  {                                                           // change battery status from charged to flat

    //---------------------------------------------------------- FLAT BATTERY speed controller shuts down until battery is recharged ----
    //---------------------------------------------------------- This is a safety feature to prevent malfunction at low voltages!! ------

    Charged=0;                                                // battery is flat
    highVolts=Volts;                                          // record the voltage
    startVolts=Volts;
    chargeTimer=millis();                                     // record the time

    digitalWrite (Charger,0);                                 // enable current regulator to charge battery
  }

  //------------------------------------------------------------ CHARGE BATTERY -------------------------------------------------------

  if ((Charged==0) && (Volts-startVolts>67))                  // if battery is flat and charger has been connected (voltage has increased by at least 1V)
  {
    if (Volts>highVolts)                                      // has battery voltage increased?
    {
      highVolts=Volts;                                        // record the highest voltage. Used to detect peak charging.
      chargeTimer=millis();                                   // when voltage increases record the time
    }

    if (Volts>batvolt)                                        // battery voltage must be higher than this before peak charging can occur.
    {
      if ((highVolts-Volts)>5 || (millis()-chargeTimer)>chargetimeout) // has voltage begun to drop or levelled out?
      {
        Charged=1;                                            // battery voltage has peaked
        digitalWrite (Charger,1);                             // turn off current regulator
      }
    }
  }

  else

  {//----------------------------------------------------------- GOOD BATTERY speed controller opperates normally ----------------------

    switch(Cmode)
    {
    case 0:                                                   // RC mode via D0 and D1
      RCmode();
      break;

    case 1:                                                   // Serial mode via D0(RX) and D1(TX)
      SCmode();
      break;

    case 2:                                                   // I2C mode via A4(SDA) and A5(SCL)
      I2Cmode();
      break;
    }

    // --------------------------------------------------------- Code to drive dual "H" bridges --------------------------------------

    if (Charged==1)                                           // Only power motors if battery voltage is good
    {
      if ((millis()-leftoverload)>overloadtime)             
      {
        switch (Leftmode)                                     // if left motor has not overloaded recently
        {
        case 2:                                               // left motor forward
          analogWrite(LmotorA,0);
          analogWrite(LmotorB,LeftPWM);
          break;

        case 1:                                               // left motor brake
          analogWrite(LmotorA,LeftPWM);
          analogWrite(LmotorB,LeftPWM);
          break;

        case 0:                                               // left motor reverse
          analogWrite(LmotorA,LeftPWM);
          analogWrite(LmotorB,0);
          break;
        }
      }
      if ((millis()-rightoverload)>overloadtime)
      {
        switch (Rightmode)                                    // if right motor has not overloaded recently
        {
        case 2:                                               // right motor forward
          analogWrite(RmotorA,0);
          analogWrite(RmotorB,RightPWM);
          break;

        case 1:                                               // right motor brake
          analogWrite(RmotorA,RightPWM);
          analogWrite(RmotorB,RightPWM);
          break;

        case 0:                                               // right motor reverse
          analogWrite(RmotorA,RightPWM);
          analogWrite(RmotorB,0);
          break;
        }
      }
    }
    else                                                      // Battery is flat
    {
      analogWrite (LmotorA,0);                                // turn off motors
      analogWrite (LmotorB,0);                                // turn off motors
      analogWrite (RmotorA,0);                                // turn off motors
      analogWrite (RmotorB,0);                                // turn off motors
    }
  }
}






void RCmode()
{
  //------------------------------------------------------------ Code for RC inputs ---------------------------------------------------------

  Speed=pulseIn(RCleft,HIGH,25000);                           // read throttle/left stick
  Steer=pulseIn(RCright,HIGH,25000);                          // read steering/right stick


  if (Speed==0) Speed=1500;                                   // if pulseIn times out (25mS) then set speed to stop
  if (Steer==0) Steer=1500;                                   // if pulseIn times out (25mS) then set steer to centre

  if (abs(Speed-1500)<RCdeadband) Speed=1500;                 // if Speed input is within deadband set to 1500 (1500uS=center position for most servos)
  if (abs(Steer-1500)<RCdeadband) Steer=1500;                 // if Steer input is within deadband set to 1500 (1500uS=center position for most servos)

  if (Mix==1)                                                 // Mixes speed and steering signals
  {
    Steer=Steer-1500;
    Leftspeed=Speed-Steer;
    Rightspeed=Speed+Steer;
  }
  else                                                        // Individual stick control
  {
    Leftspeed=Speed;
    Rightspeed=Steer;
  }
  /*
  Serial.print("Left:");
  Serial.print(Leftspeed);
  Serial.print(" -- Right:");
  Serial.println(Rightspeed);
  */
  Leftmode=2;
  Rightmode=2;
  if (Leftspeed>(Leftcenter+RCdeadband)) Leftmode=0;          // if left input is forward then set left mode to forward
  if (Rightspeed>(Rightcenter+RCdeadband)) Rightmode=0;       // if right input is forward then set right mode to forward

  LeftPWM=abs(Leftspeed-Leftcenter)*10/scale;                 // scale 1000-2000uS to 0-255
  LeftPWM=min(LeftPWM,255);                                   // set maximum limit 255

  RightPWM=abs(Rightspeed-Rightcenter)*10/scale;              // scale 1000-2000uS to 0-255
  RightPWM=min(RightPWM,255);                                 // set maximum limit 255
}







void SCmode()
{// ------------------------------------------------------------ Code for Serial Communications --------------------------------------

                                                              // FL = flush serial buffer

                                                              // AN = report Analog inputs 1-5
                                                             
                                                              // SV = next 7 integers will be position information for servos 0-6

                                                              // HB = "H" bridge data - next 4 bytes will be:
                                                              //      left  motor mode 0-2
                                                              //      left  motor PWM  0-255
                                                              //      right motor mode 0-2
                                                              //      right motor PWM  0-255
   

  if (Serial.available()>1)                                   // command available
  {
    int A=Serial.read();
    int B=Serial.read();
    int command=A*256+B;
    switch (command)
    {
      case 17996:                                             // FL
        Serial.flush();                                       // flush buffer
        break;
       
      case 16718:                                             // AN - return values of analog inputs 1-5
        for (int i=1;i<6;i++)                                 // index analog inputs 1-5
        {
          data=analogRead(i);                                 // read 10bit analog input
          Serial.write(highByte(data));                       // transmit high byte
          Serial.write(lowByte(data));                        // transmit low byte
        }
        break;
             
       case 21334:                                            // SV - receive postion information for servos 0-6
         for (int i=0;i<15;i++)                               // read 14 bytes of data
         {
           Serialread();                                     
           servo[i]=data;
         }
         Servo0.writeMicroseconds(servo[0]*256+servo[1]);     // set servo position
         Servo1.writeMicroseconds(servo[2]*256+servo[3]);     // set servo position
         Servo2.writeMicroseconds(servo[4]*256+servo[5]);     // set servo position
         Servo3.writeMicroseconds(servo[6]*256+servo[7]);     // set servo position
         Servo4.writeMicroseconds(servo[8]*256+servo[9]);     // set servo position
         Servo5.writeMicroseconds(servo[10]*256+servo[11]);   // set servo position
         Servo6.writeMicroseconds(servo[12]*256+servo[13]);   // set servo position
         break;
       
       case 18498:                                            // HB - mode and PWM data for left and right motors
         Serialread();
         Leftmode=data;
         Serialread();
         LeftPWM=data;
         Serialread();
         Rightmode=data;
         Serialread();
         RightPWM=data;
         break;
         
       default:                                                // invalid command
         Serial.flush();                                       // flush buffer
    }
  }
}

void Serialread()
{//---------------------------------------------------------- Read serial port until data has been received -----------------------------------
  do
  {
    data=Serial.read();
  } while (data<0);
}
   






void I2Cmode()
{//----------------------------------------------------------- Your code goes here ------------------------------------------------------------

}



IOpins.h

Код: Выделить всёРазвернуть
#define LmotorA             3  // Left  motor H bridge, input A
#define LmotorB            11  // Left  motor H bridge, input B
#define RmotorA             5  // Right motor H bridge, input A
#define RmotorB             6  // Right motor H bridge, input B

#define RCleft              0  // Digital input 0
#define RCright             1  // Digital input 1

#define S0                  2  // Servo output 00
#define S1                  4  // Servo output 01
#define S2                  7  // Servo output 02
#define S3                  8  // Servo output 03
#define S4                  9  // Servo output 04
#define S5                 10  // Servo output 05
#define S6                 12  // Servo output 06

#define Battery             0  // Analog input 00
#define RmotorC             6  // Analog input 06
#define LmotorC             7  // Analog input 07
#define Charger            13  // Low=ON High=OFF



Constants.h

Код: Выделить всёРазвернуть
//=================================== MODE OF COMMUNICATIONS ========================================================================

#define Cmode                0     // Sets communication mode: 0=RC    1=Serial    2=I2C
#define Brate           115200     // Baud rate for serial communications



//=================================== RC MODE OPTIONS ===============================================================================

#define Mix                  1     // Set to 1 if L/R and F/R signals from RC need to be mixed
#define Leftcenter        1500     // when RC inputs are centered then input should be 1.5mS
#define Rightcenter       1500     // when RC inputs are centered then input should be 1.5mS
#define RCdeadband          35     // inputs do not have to be perfectly centered to stop motors
#define scale               12     // scale factor for RC signal to PWM



//=================================== BATTERY CHARGER SETTINGS ======================================================================

#define batvolt            487     // This is the nominal battery voltage reading. Peak charge can only occur above this voltage.
#define lowvolt            410     // This is the voltage at which the speed controller goes into recharge mode.
#define chargetimeout   300000     // If the battery voltage does not change in this number of milliseconds then stop charging.



//=================================== H BRIDGE SETTINGS =============================================================================

#define Leftmaxamps        800     // set overload current for left motor
#define Rightmaxamps       800     // set overload current for right motor
#define overloadtime       100     // time in mS before motor is re-enabled after overload occurs



//=================================== SERVO SETTINGS ================================================================================

#define DServo0           1500     // default position for servo0 on "power up" - 1500uS is center position on most servos
#define DServo1           1500     // default position for servo1 on "power up" - 1500uS is center position on most servos
#define DServo2           1500     // default position for servo2 on "power up" - 1500uS is center position on most servos
#define DServo3           1500     // default position for servo3 on "power up" - 1500uS is center position on most servos
#define DServo4           1500     // default position for servo4 on "power up" - 1500uS is center position on most servos
#define DServo5           1500     // default position for servo5 on "power up" - 1500uS is center position on most servos
#define DServo6           1500     // default position for servo6 on "power up" - 1500uS is center position on most servos



там есть описание выводов, пинов, как я понял при написании скетчей это важно, пины прописывают командам...
если взять чейто готовый проект для движения по блютусу и перебить пины, будет ли работать?
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: Тележка с манипулятором и брандспойтом

Сообщение elmot » 26 окт 2014, 21:46

читаю я происходящее, и меня не оставляет впечатление, что тут либо rx/tx перепутаны, либо они замкнуты друг с другом. Весь этот мусор в uart и т.д.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Тележка с манипулятором и брандспойтом

Сообщение Duhas » 26 окт 2014, 22:17

где-то выше пробегало что УСБ-УАРТ и БТ-УАРТ - это один и тот же уарт.. SLOM, вы усб шнурок вытаскиваете когда хотите по блютузу общаться ?
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Тележка с манипулятором и брандспойтом

Сообщение avr123.nm.ru » 26 окт 2014, 22:22

Рекомендую залить скеч который просто отправляет по БТ все что принял по БТ со своими добавками для проверки что это именно прога отправляет. или когда нет входящих данных, раз в сек шлет типа "Жду данные!".

Когда убедитесь что вы владеете каналом передачи данных тогда уже расширять функционал скеча (программы Arduino).
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Тележка с манипулятором и брандспойтом

Сообщение slom » 26 окт 2014, 22:37

Duhas писал(а):где-то выше пробегало что УСБ-УАРТ и БТ-УАРТ - это один и тот же уарт.. SLOM, вы усб шнурок вытаскиваете когда хотите по блютузу общаться ?


и так и так пробовал.. когда мониторю происходящее через терминал то не вынимаю, когда провожу полевые испытания, с включением питания акума, то отключаю.

Добавлено спустя 53 секунды:
avr123.nm.ru писал(а):Рекомендую залить скеч который просто отправляет по БТ все что принял по БТ со своими добавками для проверки что это именно прога отправляет. или когда нет входящих данных, раз в сек шлет типа "Жду данные!".

Когда убедитесь что вы владеете каналом передачи данных тогда уже расширять функционал скеча (программы Arduino).


а можно подробней, не совсем понял что надо сделать?
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: Тележка с манипулятором и брандспойтом

Сообщение avr123.nm.ru » 26 окт 2014, 23:40

Я не програмлю под ардуино потому не знаю будет ли работать. вот написал.

только скорость надо подправить по вашему БТ модулю!
в строке Serial.begin(9600);
Код: Выделить всёРазвернуть
/*
  Switch statement  with serial input and output
переделка из  http://www.arduino.cc/en/Tutorial/SwitchCase2

при запуске выдает на ногу TXD текст  Hello!   
затем при получении на ногу RXD символов f или w или s   выводит их на ногу TXD
другие символы должна игнорировать.
*/

void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  Serial.print("Hello!  ");
             }


void loop() {
  // read the sensor:
  if (Serial.available() > 0) {
    int inByte = Serial.read();
          }
   
    // do something different depending on the character received. 
    // The switch statement expects single number values for each case;
    // in this exmaple, though, you're using single quotes to tell
    // the controller to get the ASCII value for the character.  For
    // example 'a' = 97, 'b' = 98, and so forth:

    switch (inByte) {
    case 'f':   
      Serial.print("it was f  ");
      break;
    case 'w':   
      Serial.print("it was w  ");
      break;
    case 's':   
      Serial.print("it was s  ");
      break;
                     }
             }
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Тележка с манипулятором и брандспойтом

Сообщение Dmitry__ » 27 окт 2014, 04:13

Слушай, slom, на этом форуме ты единственный кто просит помощи и не делает того что его просят. Я прям боюсь 5-й раз спрашивать что у тебя за блютус модуль? :) Первое сообщение не редактировалось. Только очень упоротые советчики будут лазить по 20 страницам твоей ветки в поисках твоего железа.

Ну да ладно, вангую: ты воткнул модуль у которого питание 3.3V в плату которая дает 5V. trex не зря советует модуль "DAGU blue tooth module", ибо на нем стоит регулятор и он переваривает питание от 3.3 до 6 вольт. А твой СВЕРХСЕКРЕТНЫЙ hc06 трехвольтовый...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Тележка с манипулятором и брандспойтом

Сообщение Duhas » 27 окт 2014, 06:30

slom писал(а):
Duhas писал(а):где-то выше пробегало что УСБ-УАРТ и БТ-УАРТ - это один и тот же уарт.. SLOM, вы усб шнурок вытаскиваете когда хотите по блютузу общаться ?


и так и так пробовал.. когда мониторю происходящее через терминал то не вынимаю, когда провожу полевые испытания, с включением питания акума, то отключаю.


если BT и USB-UART подключены к одному UART на микроконтроллере, а в случае обычных AVR mega, это скорее всего так, то у вас не будет корректно работать связь. пока у вас подключен USB шнурок он будет спорить с BT по отправляемым данным. я бы советовал либо USB либо BT. если есть схема платы - было бы не плохо ее сюда, и да, отредактируйте первый пост темы как вас Дмитрий просит, положите туда все материалы который у вас есть по вашему железу, и как говорили - не ленитесь пробовать и делайте что вам предлагают.
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Тележка с манипулятором и брандспойтом

Сообщение slom » 27 окт 2014, 13:18

avr123.nm.ru - вчера нежданно рассыпался провод юсби, в районе подключения к компу и хлипкие внутренние провода по отрывались, видимо на радио рынке мне китайскую хрен дали, пойду менять...

Dmitry__ - да вы правы, наверно нужно вообще эту тему закрыть и создать в разделе наши проекты, все таки это уже не идея а начало проекта...
блютус модуль китайский с али експрес HC-06
хм про питание не знал, думаешь он того... или не того но при повышенном питании у него логика сдвинулась и он чудит? какой стаб для него сделать? кренку на 3 в купить?

Duhas - схемы нету, есть распиновка

Добавлено спустя 3 часа 59 минут 41 секунду:
один хороший человек вник в мою проблему и прислал вот такой скетч:

Код: Выделить всёРазвернуть
#define DirM1  2 // Вывод DirM1 подключен к пину 4
#define PwmM1  3
#define BrakeM1 4

void setup()
{
  pinMode (PwmM1, OUTPUT);
  pinMode (DirM1, OUTPUT);
  pinMode (BrakeM1, OUTPUT);
  digitalWrite (BrakeM1, LOW);
  }

  void loop()
  {
    digitalWrite (DirM1, HIGH); // На вывод DirM1 подан положительный сигнал, мотор вращается в одну сторону
    analogWrite  (PwmM1, 0); // Значение ШИМ минимальное, двигатель не вращается
    delay(1000);

    digitalWrite (DirM1, HIGH);
    analogWrite  (PwmM1, 150); // Значение ШИМ равно 100, двигатель вращается с медленно
    delay(1000);

    digitalWrite (DirM1, HIGH);
    analogWrite  (PwmM1, 200); // Значение ШИМ равно 170, двигатель вращается с быстрее
    delay(1000);

    digitalWrite (DirM1, HIGH);
    analogWrite  (PwmM1, 255); // Значение ШИМ максимальное, двигатель вращается на максимальной скорости
    delay(1000);
   
    digitalWrite (DirM1, HIGH); // На вывод DirM1 подан положительный сигнал, мотор вращается в одну сторону
    analogWrite  (PwmM1, 0); // Значение ШИМ минимальное, двигатель не вращается
    delay(5000);
  }



это тест запускающий одну сторону колес...
все заработало, после подачи питания колеса завращались!

еще я достучался до одного иностранца, который вплотную работал с этой платой и вел блог. вот что он мне ответил:

The customer has not given us any useful information on his problem.
They should send us some clear, high resolution pictures of the setup.

The problem could be:
Bad batteries: The batteries should be 7.2V NiMh or 7.4V LiPo with a rating of at least 4500mAh.
Incorrect wiring - perhaps RX and TX need to be swapped. Can his bluetooth module work at 5V?
Electronic interferance - some bluetooth modules need to be mounted away from the controller using the supplied cable.
Ask the customer to give detailed information about his setup and to provide photos.
Then we can help.


1 сказал про возможную нехватку мощности акума - эту проблему уже решил...
2. возможно перепутаны клеммы RX и TX
3. проблема с питанием, я втыкаю 3в блютус в 5 в вход :D
хотя в описании от 3 до 6 в написано :o
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: Тележка с манипулятором и брандспойтом

Сообщение elmot » 27 окт 2014, 15:31

hc-06 прекрасно работает и от 3.3, и от 5 В. Подтягивать там тоже ничего не надо, там честный push-pull выход.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Тележка с манипулятором и брандспойтом

Сообщение avr123.nm.ru » 27 окт 2014, 19:21

надо срисовать схему соединений uart сигналов с разъемами контроллера и cp2102 - http://www.dagurobot.com/goods.php?id=135
лев верх угол платы.
Вложения
trex_pinouts.jpg
TREX pinout
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Тележка с манипулятором и брандспойтом

Сообщение slom » 27 окт 2014, 21:33

Срисовывайте
картинки кликаьбельные...
Изображение
Изображение
Изображение
Изображение

качество неочень, на телефон снято и подсвечивал светодиодной лентой, но вроде что то видно...
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Пред.След.

Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 4