Проблемы в сборке Robocar-3 Bluetooth arduino uno
- Войдите на сайт для отправки комментариев
Втр, 08/03/2022 - 21:07
Добрый день. Я новичок в сборке роботов. Я собрала робота, всё работает, залила прошивку, но робот неправильно реагирует на клавиши. При нажатии "вперед" "назад" робот должен ехать по нужному направлению, а при нажатии "право" "лево" должен поворачить. Но при нажатии "вперед" робот крутится в правую сторону, а при нажатии "назад" крутится в левую сторону. При нажатии "право" и "лево" поворачивается только в правую сторону (или при удержании -крутится в неё).
Прошивка написана на языке "С", я скопировала её из документов, на сайте где заказывали этого робота. Подскажите пожалуйста, как можно решить эту проблему?
http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/pesochnitsa-novichok-prochti
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
Какая-то путаница. Уж не знаю кто её внёс. Китайские друзья на сайте или автор вопроса уже что-то подправил...
Процедура run() видимо должна двигать машинку вперёд. Если переменные названы осмысленно и двигатели подключены правильно, то уж если Right_motor_go ставим в HIGH а Right_motor_back в LOW, то и Left_motor_go должно быть HIGH а Left_motor_back в LOW. А сейчас они противоположные, вот и крутятся в разные стороны
Дальше не глядел, наверное во всех командах такое есть. Вот почитайте, чтобы осмысленно управление писать:
https://create.arduino.cc/projecthub/ryanchan/how-to-use-the-l298n-motor-driver-b124c5
p.s. Можно конечно у одного из двигателей полярность подлключения (или номера выводов в скетче) поменять, оно и поедет, но тогда логика именования переменных потеряется. Скетч совсем непонятным станет.
да там вообще полный бардак, кто-то это явно уже неумело редактировал.
процедуры spin_left() и spin_right() вообще в программе не используются. а между тем именно они как раз выполняют движения вперед и назад :)
ИМХО, тут проще всего переназвать процедуры :) - взаимно поменять spin_left() и run() , и точно так же spin_right() и back()
Для начала хотелось бы понять, что за робот...
Проверил вперёд-назад, логически там всё правильно, левая сторона имеет обратное вращение жеж