Не разворачивает четырех колесную платформу на базе UNO + Motor Shield / Оба Made in Itally

Нет ответов
urus_vp
Offline
Зарегистрирован: 14.12.2015

Добрый день,

не разворачивает четырех колесную платформу на базе UNO + Motor Shield.

В моем варианте пока простая конфигурация:

http://arduino.ru/Hardware/ArduinoBoardUno

http://arduino.ru/Hardware/ArduinoMotorShieldR3

на каждой плате отдельное питание по четыре аккумулятора.

Один: Ni-Cg 700 мАч, 4.8 V, сцепка из 4-ех аккумуляторов неизвестного происхождения от RC модели.

Второй: NiMH, аккумуляторы 2x1.7 мАч + 2x2.7 мАч.

Uno: запитываю первым блоком

MotorShield: запитываю вторым (вроде он по мощнее)

Никаких джамперов не передергиваю, всё в оригинале, всё в базе.

И скетч Вперед/Назад/Разворот на месте и т.п…

дык Туда-Сюда катается, а Разворот не хочет…

Разворот делаю так - на одну сторону даем Вперед, на вторую Назад, на паркете не проворачивает, пищит (как я понимаю, не хватает напруги).

В тоже время если поднять платформу, то колеса крутятся в нужную сторону - т.е. в разные.

Может там какой секретный переключатель есть? J Код простейший… на всякий случай привожу его ниже…

================================================================

void setup() {

  //Setup Channel A

  pinMode(12, OUTPUT); // Порт направления

  pinMode(9, OUTPUT);  // Порт Тормоза

  pinMode(3, OUTPUT);  // Порт ШИМ

  //Setup Channel B

  pinMode(13, OUTPUT); // Порт направления

  pinMode(8, OUTPUT); // Порт Тормоза

  pinMode(11, OUTPUT); // Порт ШИМ

}

void loop() {

 // зажали тормоза

  digitalWrite(9, HIGH);

  digitalWrite(8, HIGH);

    delay(2000);

  // направление вперед

  digitalWrite(12, HIGH);

  digitalWrite(13, HIGH);

  // отпустили тормоза

  digitalWrite(9, LOW);  

  digitalWrite(8, LOW);  

  // поехали

  analogWrite(3, 150);

  analogWrite(11, 150);  

  delay(2000);

  digitalWrite(9, HIGH);

  digitalWrite(8, HIGH);

    delay(2000);

  digitalWrite(12, LOW);

  digitalWrite(13, LOW);

  digitalWrite(9, LOW);   

  digitalWrite(8, LOW);  

  analogWrite(3, 150);

  analogWrite(11, 150);  

  delay(2000);

  digitalWrite(9, HIGH);

  digitalWrite(8, HIGH);

    delay(2000);

  digitalWrite(12, LOW);

  digitalWrite(13, HIGH);

  digitalWrite(9, LOW);  

  digitalWrite(8, LOW);  

  analogWrite(3, 255);

  analogWrite(11, 255);  

  delay(4000);

}

========================================================