- PVSM.RU - https://www.pvsm.ru -
Представляю свой проект робомобиля на Arduino. На просторах интернета есть масса подобных статей, наткнувшись на одну из них решил реализовать увиденное со своими изменениями в конструкцию и функционал. Реализованы следующие возможности: управление робомобилем по Bluetooth со смартфона; автономное движение робомобиля с объездом препятствий.
Для реализации нам понадобится:
Комплект: рама, моторы, колёса, крепления (Car Chassis Kit for Arduino — фото [1])
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 [2] (фото [3], при подключении к 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 — фото [4]; при управлении по 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 [5]
→ Скетч [6] — управление по Bluetooth
→ Скетч [7] — автономное движение с объездом препятствий
→ Мануал [8] по Bluetooth модулю HC-05
Автор: alexbus84
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/arduino/244169
Ссылки в тексте:
[1] фото: http://bus-alex.ru/img/for_habrahabr/car_kit.jpg
[2] Arduino Bluetooth RC Car: https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller
[3] фото: http://bus-alex.ru/img/for_habrahabr/arduino_bluetooth_rc_car.jpg
[4] фото: http://bus-alex.ru/img/for_habrahabr/robomobile_servo.jpg
[5] AFMotor: http://bus-alex.ru/img/for_habrahabr/AFMotor.zip
[6] Скетч: http://bus-alex.ru/img/for_habrahabr/sketch_bluetooth.txt
[7] Скетч: http://bus-alex.ru/img/for_habrahabr/sketch_dalnomer.txt
[8] Мануал: http://bus-alex.ru/img/for_habrahabr/hc_05_at_command_set.pdf
[9] Источник: https://geektimes.ru/post/285696/
Нажмите здесь для печати.