Машинка на Ардуино с Блютуз

СОДЕРЖАНИЕ ►
Машинка на Ардуино с Bluetooth управлением от Android телефона — это очень простой, но интересный проект на Arduino UNO с использованием модуля Motor Shield. На этой странице вы узнаете какие потребуются компоненты для изготовления робота машинки на Ардуино своими руками, пошаговую инструкцию по сборке электрической схемы и сможете скачать все необходимые программы для Android и Arduino.
Для этого проекта использовался модуль Motor Shield L293D, два колеса с редукторами, плата Arduino UNO, блютуз модуль HC-05 и два светодиода для фар. Управление происходит дистанционно через Bluetooth сигнал от смартфона или планшета. После сборки модели и установки программ, вы сможете через приложение на смартфоне поворачивать машинкой, ездить вперед и назад, включать и выключать фары.
Машинка на Ардуино своими руками
Для этого проекта нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- Motor Control Shield L293D;
- Bluetooth модуль HC-05/06;
- два мотора с редукторами и колесами;
- аккумулятор 9 Вольт (крона);
- 2 резистора и 2 светодиода;
- корпус и колеса от старой машинки;
- паяльник, термопистолет, провода, припой и т.д.

Схема сборки машинки на Ардуино
Если у вас есть все необходимые детали (в проекте можно обойтись без светодиодов и резисторов), то далее мы рассмотрим, как сделать машинку из ардуино своими руками. Для начала следует припаять к контактам моторчиков провода и зафиксировать их изолентой, чтобы контакты не оторвались. Провода необходимо соединить с клеммниками M1 и M2 на Motor Shield (полярность потом можно будет поменять).

Питание на Bluetooth модуль идет от контактов для сервопривода, в проекте серво нам не понадобятся. А на питание идет стабилизированное напряжение 5 Вольт, что нам подходит. К портам TX и RX удобнее будет припаять коннекторы «мама», а к портам «Pin0» и «Pin1» на Motor Shield припаять штырьки (BLS). Таким образом, вы сможете легко отключать Bluetooth модуль от Arduino при необходимости загрузки скетча.
Управление светодиодами идет от порта «Pin2», здесь провод можно припаять напрямую к порту. Если вы делаете несколько машинок с Блютуз, которыми будете управлять одновременно, то рекомендуем сделать перепрошивку модуля HC-05. Делается прошивка модуля очень просто, а затем вы уже не будете путать машинки, так как у каждой будет отображаться свое уникальное имя на Андроиде.
Приложение и скетч для машинки на Ардуино
После сборки схемы загрузите следующий скетч для машинки (не забудьте отключать Bluetooth модуль от Ардуино при загрузке) и установите приложение на смартфоне. Все файлы для проекта (библиотека AFMotor.h, скетч для машинки и приложение для Android) можно скачать одним архивом по прямой ссылке здесь. Работу скетча можно проверить управлением машинки от компьютера через Serial Monitor по USB.
#include <AFMotor.h> // подключаем библиотеку для шилда AF_DCMotor motor1(1); // подключаем мотор к клеммнику M1 AF_DCMotor motor2(2); // подключаем мотор к клеммнику M2 int val; // освобождаем память в контроллере void setup() { Serial.begin(9600); pinMode(2, OUTPUT); // Порт для светодиодов motor1.setSpeed(250); // задаем максимальную скорость мотора motor1.run(RELEASE); // останавливаем мотор motor2.setSpeed(250); // задаем максимальную скорость мотора motor2.run(RELEASE); // останавливаем мотор } void loop() { if (Serial.available()) // проверяем, поступают ли какие-то команды { val = Serial.read(); if (val == 'f') { // едем вперед motor1.run(FORWARD); motor1.setSpeed(250); motor2.run(FORWARD); motor2.setSpeed(250); } if (val == 'b') { // едем назад motor1.run(BACKWARD); motor1.setSpeed(200); motor2.run(BACKWARD); motor2.setSpeed(200); } if (val == 's') { // останавливаемся motor1.run(RELEASE); motor2.run(RELEASE); } if (val == 'l') { // поворачиваем налево motor1.run(FORWARD); motor1.setSpeed(100); motor2.run(BACKWARD); motor2.setSpeed(250); } if (val == 'r') { // поворачиваем направо motor1.run(BACKWARD); motor1.setSpeed(250); motor2.run(FORWARD); motor2.setSpeed(100); } if (val == '1') { // включаем светодиоды digitalWrite(2,HIGH); } if (val == '0') { // выключаем светодиоды digitalWrite(2,LOW); } } }
Пояснения к коду:
- для тестирования, можно отправлять команды с компьютера через USB;
- вращение моторов при подключении к аккумулятору будут отличаться;
- вы можете задавать свою скорость вращения моторами.

После проверки работы машинки, установите приложение на смартфон или планшет. При первом подключении к Bluetooth модулю HC-05/06, потребуется сделать сопряжение с Андроид (затем сопряжение будет выполняться автоматически). Если у вас возникли сложности с подключением — прочитайте эту статью Подключение блютуз модуля к Ардуино или напишите вопрос в комментариях к этой записи.
Подборка на тему: Машинка на Ардуино с Блютуз
13 комментариев для “Машинка на Ардуино с Блютуз”
Добавить комментарий
Записи похожие на: Машинка на Arduino с Bluetooth
- Подключаем сдвиговый регистр 74hc595 Ардуино
- Ардуино Due: распиновка, характеристики
- Как подключить джойстик к Ардуино
- Машинка на Ардуино Нано из лазерной мыши
Проекты похожие на: Машинка на Arduino с Bluetooth
Подскажите, гр. разработчики, как теперь удалить приложение car с планшета, через настройки не удаляется. Далее: кнопки на экране не соответствуют направлениям движения.
1. Проблем с удалением приложения ни у кого не возникало.
2. Моторчики не пробовали поменять местами? Если нажимаете кнопку «налево», а машинка едет направо, то видимо дело именно в этом.
Сделал, всё отлично работает, спасибо!
А что там в программе за кнопка: «Голосовая команда»?
Планировалось управлять машинкой с помощью голосовых команд, но, оказалось, не очень удачная идея.
Было давольно интересно почитать))
Что делать, если телефон не подключается к модулю?
Использовать другой телефон или менять Блютуз модуль. С компьютера машинкой можно управлять через монитор порта при подключенном USB.
Как сделать так чтобы при нажатии любой клавиши на смартфоне Вперед Назад и тд, чтобы при нажатии только ехал а когда отпускаешь не едет, не особо удобно когда нажал а он бесконечно едет пока не нажмешь стоп. Спасибо)
Нужно переписать программу для смартфона в App Inventor
Спасибо за хорошее пояснение, возник вопрос, (условия: есть 1 мотор на 2 задних колеса, а передние пассивные но с поворотным механизмом) как я понял нужно на передние поставить сервопривод? как все это собрать?
Алексей! Удалось реализовать Вашу идею?
Прошу прощения, но я не смог понять, какого сопротивления нужны резисторы. Помогите пожалуйста те ,кто уже делал или же админ. 🙁
220 Ом, но в принципе любые. Будет только меняться яркость светодиодов, в зависимости от сопротивления