Для реализации нам понадобится:
Комплект: рама, моторы, колёса, крепления (Car Chassis Kit for Arduino — фото)
Arduino Mega 2560
Motor Control Shield for Arduino L293D
Сервопривод MG995
Ультразвуковой дальномер HC-SR04
Bluetooth модуль HC-05 JY-MCU
Active High Level Buzzer Alarm / Speaker Buzzer Module
Диоды для фар
Соединительные провода
Держатели для дальномера и Bluetooth модуля (делал сам)
Блок питания (я взял от кассового аппарата)
Приложение на Android для управления робомобилем по Bluetooth Arduino Bluetooth RC Car (фото, при подключении к Bluetooth модулю пин-код по умолчанию «1234»)
Подключение комплектующих
Моторы | Motor Shield L293D | Фары | Arduino Mega 2560 |
П.Л. | М3 | П.Л. | «-» на GND, «+» на Pin 22 |
П.П. | М4 | П.П. | «-» на GND, «+» на Pin 24 |
З.Л. | М1 | З.Л. | «-» на GND, «+» на Pin 34 |
З.П. | М2 | З.П. | «-» на GND, «+» на Pin 35 |
Дальномер HC-SR04 | Arduino Mega 2560 | Bluetooth HC-05 | Arduino Mega 2560 | Buzzer | Arduino Mega 2560 |
Vcc | 5V | VCC | 5V | SIG | Pin A9 |
Trig | Pin 31 | GND | GND | VCC | Pin A8 |
Echo | Pin 30 | TXD | Pin 50 | GND | GND |
Gnd | GND | RXD | Pin 51 |
Сервопривод MG995 | Motor Shield L293D |
тройная клема | SERVO_2 (центральный провод «+» откусываем и запитываем напрямую от «+» Motor Shield — фото; при управлении по Bluetooth — клему снимайте, чтобы серва не дёргалась) |
Процесс сборки
К моторам припаиваем провода, обратите внимание, на всех нижних контактах у меня чёрные провода, на верхних — красные, не перепутайте полярность при подключении к Motor Shield.
Крепим сервопривод к верхней части рамы, моторы к нижней, собираем раму, ставим колёса. Устанавливаем Motor Shield сверху Arduino Mega и крепим на раму, подключаем всё по схеме выше, заливаем соответствующий скетч (в конце статьи) — наслаждаемся.
Управление по Bluetooth — устанавливаете приложение на свой смартфон, запускаете, подключаетесь (Connect) к Bluetooth модулю (при необходимости вводите пин-код); управлять можно классическим способом по стрелкам (Buttons), а так же в меню программы можно выбрать Accelerometer и управлять с помощью наклонов смартфона.
Автономное движение с объездом препятствий — алгоритм следующий: дальномер измеряет расстояние впереди, если оно > 30 см (в скетче параметр const int vmindistance), то продолжаем двигаться вперед, если < 30 см, то: останавливаем моторы; крутим сервопривод на углы от 0° до 180° с шагом в 15° и измеряем расстояния на этих углах; заносим полученные значения в массив; поворачиваем сервопривод прямо на угол 90°; ищем в массиве позицию с максимальным значением данных; если это значение < 30 см, то едем назад, если > 30 см, то проверяем какому углу поворота сервопривода оно соответствует и в зависимости от этого поворачиваем влево или вправо.
Небольшое видео.
Управление по Bluetooth:
Автономное движение с объездом препятствий:
Ссылки для скачивания:
> Библиотека AFMotor
> Скетч — управление по Bluetooth
> Скетч — автономное движение с объездом препятствий
> Мануал по Bluetooth модулю HC-05
Комментарии (26)
Andy_Big
17.02.2017 16:53Честно говоря, автономное движение на видео совсем не похоже на описанный в тексте алгоритм, напоминает какие-то хаотичные метания. Причем, ни разу не увидел чтобы она поворачивала на какой-то угол, отличный от полного разворота.
Зачем платформа несколько раз поворачивается на 180 градусов и обследует сектор перед ней? Остановилась, обследовала сектор спереди, развернулась, обследовала сектор сзади, развернулась, опять обследовала сектор спереди, опять развернулась, поехала.alexbus84
21.02.2017 14:04учту ваше замечание, по видео складывается такое впечатление, я думаю, это связано с тем, что было выбрано ограниченное пространство для съёмки, да ещё рукой приходилось закрывать дальномер, чтобы машинка не выезжала из кадра; на большем пространстве она себя ведёт по другому
Andy_Big
21.02.2017 20:07А все-таки — зачем машинка несколько раз разворачивается на 180 градусов перед тем как поехать?
fruit_cake
17.02.2017 18:33Хотел собрать управляемую машину на ардуино с помощью другой ардуино, столкнулся с проблемой поиска информации по блютуз модулям, вдобавок у HC-06 прошивки чтоли кривые заливают китайцы, на АТ команды или отвечает криво или не отвечает вообще. Валялось пара модулей HSP8266, решил озадачиться их изучением, при минимально подключении молчат совсем, вытравил плату спаяд всё как советуют, модуль молчит и не мигнёт. Вот сижу и думаю то ли искать и заказывать у проверенных продавцов новые ESP или бросать всё это начинание.
Kirsch
17.02.2017 18:58Как интересно, все же, совпадение, пусть и рандомное! В прошлые выходные сел писать статью про похожий проект, и вышла Ваша! И даже логика объезда препятствий тоже независимо похожа оказалась. Подскажите, выбор Мега2560 только из-за шилда или есть другие основания? Мне платы Pro Mini хватило более чем, управление моторами — MOSFET + реле для реверса.
wormball
17.02.2017 22:54Вот интересно, отчего вот на этом никто роботов не делает? Или делают, но на ГТ не публикуют?
https://ru.aliexpress.com/item/New-Arrival-RC-Car-9115-2-4G-1-12-1-12-Scale-Rock-Crawler-Car-Supersonic/32746070807.html
https://geektimes.ru/company/dronk/blog/261226/ — обзор на ГТ
По всем характеристикам — небо и земля, а цена та же фактически.FForth
18.02.2017 01:29+1Потребление готового убивает на корню идею творческого самовыражения.
wormball
18.02.2017 02:04Во-первых. Это классический пример фразы, которая кажется мудрой, являясь при детальном рассмотрени эталоном глупости. Всегда, делая что-то, мы используем что-то, что было до нас (то бишь готовое). Сделать что-то из ничего — так только Г-сподь Б-г умел (и то, говорят, разучился). И не в последнюю очередь мы используем то, что было создано другими людьми. Мы все стоим на плечах гигантов, как говаривал старик Ньютон. У Леонардо да Винчи не было двигателя внутреннего изгорания (и много чего ещё) — вот он и не смог построить вертолёт. Да и вы, например, используете старый добрый русский язык, который был, когда вас в проекте ещё не было. И буквы берёте уже готовые. И процитированной вами мудрости вас без сомнения кто-то научил. Так что не творческий вы человек. А самые творческие люди, видимо — маугли.
Во-вторых. А здесь-то это при чём?FForth
18.02.2017 11:27Фраза не о том что вообще Вы тут изложили.
Например, по аналогии, соберите из готовых микросхем компьютер домашних условиях
и посмотрите на получившийся «конкурентно» сопособный вариант.
С созданием ПО есть ещё варианты, а с железом в этом случае почти «швах».
Получите «калькулятор» для показа своему окружению.
Но и это не плохо до определённого уровня постановки личных целей.
Ближе к теме — есть у меня радиоуправляемая машинка. Можно добавить к ней контроллер, обвязку датчиков, «ИИ», а дальше что с этим делать?
P.S. Где сейчас, например, ПК ZX SPectrum? И где ещё «искуственная жизнь» по Ламарку? :)wormball
19.02.2017 01:06> И где ещё «искуственная жизнь» по Ламарку? :)
Приблизительно там же, где был вертолёт у Леонардо да Винчи. :(
> Фраза не о том что вообще Вы тут изложили.
Ну так о чём же? Из того, что вы написали, я ничего не понял ни на тему того, об чём эта фраза, ни как это соотносится с обсуждаемым постом.
> Ближе к теме — есть у меня радиоуправляемая машинка. Можно добавить к ней контроллер, обвязку датчиков, «ИИ», а дальше что с этим делать?
Ну, собственно, тот же вопрос можно задать и в отношении обсуждаемого девайса. И он будет ничуть не менее риторическим. Понятное дело, что это в основном делается в целях развлечения/самообразования. Девайс из поста здесь имеет то преимущество, что «подключил и забыл», то бишь «самым маленьким» будет проще начать хоть что-то делать. Зато у девайса по моей ссылке преимущество в скорости, проходимости и т. п. Так что расти над собой с его помощью можно до заметно более высоких высот. Скажем, line follower на ардуино-черепашке каждый дурак сделает. А слабо сделать line follower на 40 км/ч?
Areso
> Там маленькая по площади площадка с небольшими и не очень удобными креплениями.
Судя по фотографиям, в абсолютном исчислении она всё равно больше, нежели у девайса из статьи, даже ежели только в центре место рассматривать. По крайней мере не думаю, что изобрести палубу из подножных материалов будет большой проблемой, тогда там места точно будет хоть жопой ешь.
Areso
18.02.2017 06:51Если использовать как донора шасси, то неудобно. Там маленькая по площади площадка с небольшими и не очень удобными креплениями.
Hellsy22
18.02.2017 07:38Пожалуйста верните SR04 обратно на свалку. Нет ничего более безобразного, глючного и проблемного, чем этот ультразвуковой датчик расстояния. Есть же чудесные ИК-датчики от шарпа, стоимостью всего 3.5$.
webkumo
18.02.2017 16:50Вот как можно что-то предлагать мало того, что без обзора, без ссылки, так ещё и без указания моделей?
Hellsy22
18.02.2017 19:30https://geektimes.ru/post/258630/
https://geektimes.ru/post/255314/
Страничка вики на робофоруме
Обзор с таблицами погрешностей измерения расстояний от цветаwebkumo
19.02.2017 11:45За ссылочки спасибо… но вы же предлагаете ИК-дальномер, а автор выбрал УЗ-дальномер… Естественно несущая среда сказывается на замерах… Так что тут, скорее, просто устройства для немного разных целей (хотя и с очень похожим применением).
Hellsy22
19.02.2017 13:08автор выбрал УЗ-дальномер
А я говорю, что УЗ-дальномер в замкнутом помещении — плохое решение, а конкретно этот — ужасное.
degressor
Я вот тоже собирал похожее авто, у меня моторшилд очень сильно греется. У вас такой проблемы нет?
alexbus84
нет, сильного нагрева не замечал
UJIb9I4AnJIbIrUH
Статью не хотите написать?