Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я работал с автомобилями, управляемыми Arduino, но те, над которыми я работал, всегда были медленными и методичными. Это замечательно при изучении Arduino, но я хотел чего-то более… веселого. Войдите в радиоуправляемую машину.
Радиоуправляемые машины буквально созданы для того, чтобы ими было максимально весело управлять - это игрушки! Я зашел на YouTube, но все, что я нашел, это кучу слишком сложных способов преобразовать радиоуправляемую машину в систему управления Arduino. Я подумал, что должны быть более простые способы сделать это, поэтому я решил найти свой собственный способ преобразования радиоуправляемой машины в систему управления Arduino, подчеркнув простоту и эффективность.
Я подумал, что вместо того, чтобы выпотрошить машину и начать все сначала, будет намного проще использовать существующую инфраструктуру. У этого метода есть несколько действительно интересных преимуществ.
Я взломал контроллер машины, но сам машину оставил нетронутой. Это позволило мне автономно управлять автомобилем гораздо дешевле, используя уже имеющуюся радиосистему.
Мне нравится это решение, потому что оно элегантное, простое, дешевое и расширяемое. Надеюсь, вы найдете его таким же полезным, как и я!
Шаг 1. Тест-драйв
Вы действительно хотите открыть машину и начать. Но ждать! Вы только что получили эту потрясающую новую радиоуправляемую машину, найдите время, чтобы вести себя немного по-детски, и прокатитесь на ней! Мы с друзьями весело провели время с радиоуправляемой машиной «для науки». Нашими любимыми местами для езды были местный скейт-парк и старый бейсбольный бриллиант. Эти места отлично подходили для отработки прыжков и пончиков, посмотрите видео с замедленной съемкой, которое мы получили!
Шаг 2: откройте контроллер
Каждый контроллер отличается, поэтому важно заглянуть внутрь, чтобы понять, с чем вы имеете дело. У моего контроллера был спусковой крючок для газа и колесо из пенопласта для поворота. Оказывается, и спусковой крючок, и колесо были просто сложными корпусами для потенциометров! Это очень удобно, потому что мы можем легко подделать это с помощью Arduino.
Найдите минутку, чтобы выяснить, где потенциометры подключаются к плате. У них должно быть 3 припаянных провода: питание, земля и данные. Скоро это станет важным.
Шаг 3: Мультиметр
У меня возникла проблема, и я забыл попробовать использовать мультиметр. После того, как я наконец забыл использовать мультиметр, он устранил все мои проблемы!
Мультиметры подобны операторам печати в вашем коде, редактору вашей статьи. В этом случае мультиметр помог мне понять, как были подключены потенциометры, чтобы я мог лучше подделать их с помощью Arduino.
Чтобы выяснить, как подключены ваши потенциометры, просто прикоснитесь к заземлению, а красный провод вашего мультиметра - к контакту данных на плате. Порядок должен быть ясен по цвету проводов, но в противном случае контакт данных - это тот, который будет изменять значение при повороте потенциометра.
Затем я записал значения строки данных в средней точке (положение по умолчанию) и на любом полюсе. Таким образом, я бы знал, что такое 0 и в каком направлении двигаться, чтобы увеличить или уменьшить скорость, или повернуть налево или направо. Вот мои измерения:
- 0 максимальная скорость
- 1,75 В без движения
- 3,0 В макс. Обратный
- 0 максимальный левый поворот
- 1.57 нет поворота
- 3,37 макс. Поворот вправо
Я планировал использовать перо Adafruit для управления автомобилем в любом случае, потому что мне нравится доска, но эти измерения подтверждают это решение. Перо работает от логики 3,3 В, что очень хорошо сочетается с этим аналоговым диапазоном. Это также можно сделать с платой 5 В, но вам следует быть более осторожными с максимальным аналоговым напряжением, которое вы подаете.
Шаг 4: Проверьте это
Этот шаг не является обязательным, но я считаю, что всегда лучше тестировать промежуточные шаги с элементами управления, если это возможно. Я использовал настольный блок питания, чтобы подключить контроллер с помощью зажимов типа «крокодил» (после распайки линий передачи данных) и протестировать различные напряжения. Было здорово поворачивать ручку на блоке питания, чтобы изменять напряжение, и смотреть, как колеса набирают обороты, как если бы я заставлял их двигаться с помощью контроллера.
Шаг 5: Подключите Arduino
Этот шаг был на самом деле довольно простым, но я сделал несколько вещей, которые сделали эту работу намного лучше. Вот мой метод:
- Отпаяйте линии данных от двух потенциометров на стороне платы.
- Припаяйте незакрепленные провода к вилке: скорость к мощности и включение на землю.
- Припаяйте подходящую розетку к плате, чтобы при подключении она работала так же, как и раньше.
-
Припаяйте вилку к Arduino.
- Один провод ко встроенному ЦАП (на моей плате это был контакт A0, не на всех платах он есть, поэтому сначала проверьте!).
- Если вы используете Arduino Due или аналогичный, подключите другой провод ко второму встроенному ЦАП.
- В противном случае подключите другой провод к выходу внешнего ЦАП; Я купил внешнюю коммутационную плату ЦАП от adafruit.
- Подключите другие контакты внешнего ЦАП к Arduino.
-
Подключите линию заземления одного из потенциометров к земле Arduino.
Обеспечение общего заземления помогает значительно уменьшить помехи
Шаг 6: Программирование вашего нового беспилотного автомобиля
Теперь вы можете автономно управлять своим радиоуправляемым автомобилем! Вам придется использовать библиотеку, если вы используете внешний ЦАП, но в остальном программирование должно быть довольно простым. Как вы, возможно, догадались по проводке, очень важно использовать настоящий аналоговый сигнал. Сначала я попытался заставить его работать с сигналом PWM, но у него были запутанные и в целом плохие результаты. Однако с настоящими аналоговыми выходами он отлично работает!
Начните с геометрических фигур и узоров, которые иначе было бы сложно создать с помощью контроллера. Например, первое, что я запрограммировал на своем, - это ездить по идеальным кругам разного диаметра.
Это также самая легкая модификация, которую я видел для автономного управления радиоуправляемым автомобилем, и вы многое узнаете о том, как они работают в процессе!
Шаг 7. Дальнейшие действия
Главный недостаток этого решения в том, что у меня нет двусторонней связи. Это означает, что я могу отправлять инструкции для машины, но не могу получать данные с датчиков.
Следующее, что я планирую сделать, это решить эту проблему, либо взломав сторону автомобиля для отправки данных обратно, либо установив отдельную ссылку для передачи данных датчика. Если я настрою отдельное звено, оно не должно быть таким же надежным, как звено главного привода, потому что органы управления двигателем более важны.