Не разворачивает четырех колесную платформу на базе UNO + Motor Shield / Оба Made in Itally
- Войдите на сайт для отправки комментариев
Добрый день,
не разворачивает четырех колесную платформу на базе 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);
}
========================================================