С появлением мощных микроконтроллеров Arduino и широких возможностей современных смартфонов, управление небольшими роботизированными машинками стало доступным даже для новичков. В этой статье мы подробно разберём, как собрать простую управляемую машинку, какие компоненты нужны, как написать скетч, настроить связь по Bluetooth и как интегрировать управление в мобильное приложение.
Содержание
- Необходимые компоненты
- Сборка машинки
- Программирование Arduino
- Связь с телефоном (Bluetooth)
- Мобильное приложение
- Устранение типовых ошибок
- Контакты для обращений
Необходимые компоненты
- Arduino Nano – компактный микроконтроллер, идеально подходит для небольших роботов.
- Два сервомотора (или небольшие DC‑моторы с драйвером L298N) – отвечают за движение и поворот.
- Bluetooth‑модуль HC‑05 – обеспечивает беспроводную связь со смартфоном.
- Батарейный блок (Li‑Po 7.4 V или 4×AA) и стабилизатор 5 V.
- Шасси – готовый набор из пластика/алюминия (можно купить в наборе «Arduino Starter Kit»).
- Провода‑переходники (мама‑папа, крокодилы) и пайка (по желанию).
- Датчики (по желанию) – ультразвуковой датчик расстояния HC‑SR04, инфракрасный датчик линии и т.п.
Все перечисленные детали легко найти в любом магазине электроники или заказать онлайн.
Сборка машинки
Установка моторов
- Закрепите два моторчика на шасси (один – левый, другой – правый).
- Подсоедините к каждому мотору провода к драйверу L298N (если используете DC‑моторы) или к выходам PWM Arduino Nano (если это сервомоторы).
Подключение Bluetooth‑модуля
- VCC → 5 V Arduino
- GND → GND
- TXD → RX (пин 0)
- RXD → TX (пин 1) через делитель напряжения (Arduino выдаёт 5 V, а модуль принимает 3.3 V).
Питание
Подключите батарейный блок к стабилизатору 5 V, а от стабилизатора – к VIN Arduino и к моторному драйверу. Проверьте полярность!
Программирование Arduino
Установка среды разработки
Скачайте последнюю версию Arduino IDE (на официальном сайте) и установите её на ваш ПК. При необходимости используйте Arduino IDE 2.x – более современный интерфейс.
Базовый скетч
// Управление машинкой через Bluetooth
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(0, 1); // RX, TX
// Пины управления моторами (пример для L298N)
const int ENA = 5; // PWM левый мотор
const int IN1 = 2;
const int IN2 = 3;
const int ENB = 6; // PWM правый мотор
const int IN3 = 4;
const int IN4 = 7;
void setup {
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
Serial.begin(9600);
BTSerial.begin(9600);
Serial.println("Ready");
}
void loop {
if (BTSerial.available) {
char cmd = BTSerial.read;
executeCommand(cmd);
}
}
void executeCommand(char c) {
// Простейший протокол: F – вперёд, B – назад, L – влево, R – вправо, S – стоп
switch (c) {
case 'F':
forward;
break;
case 'B':
backward;
break;
case 'L':
leftTurn;
break;
case 'R':
rightTurn;
break;
case 'S':
stopMotors;
break;
}
}
void forward {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, 200);
analogWrite(ENB, 200);
}
void backward {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENA, 200);
analogWrite(ENB, 200);
}
void leftTurn {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, 150);
analogWrite(ENB, 200);
}
void rightTurn {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENA, 200);
analogWrite(ENB, 150);
}
void stopMotors {
analogWrite(ENA, 0);
analogWrite(ENB, 0);
}
Скомпилируйте и загрузите скетч в Arduino Nano. При правильном подключении Bluetooth‑модуль будет принимать команды от телефона.
Связь с телефоном (Bluetooth)
Для простоты используем готовые приложения:
- Bluetooth Serial Controller (Android) – позволяет отправлять произвольные символы.
- BLE Scanner (iOS) – если вы выбрали модуль HC‑06/HC‑05 в режиме BLE.
Настройте приложение так, чтобы при нажатии кнопок отправлялись символы F, B, L, R, S. При получении этих символов Arduino выполнит соответствующее действие.
Создание собственного приложения
Если хотите более гибкое решение, можно воспользоваться:
- React Native + библиотека
react-native-bluetooth-serial. - Flutter + пакет
flutter_bluetooth_serial. - Native Android (Java/Kotlin) – класс
BluetoothSocket.
Пример кода на Kotlin (отправка команды «вперёд»):
val outStream = bluetoothSocket?.outputStream
outStream?.write('F'.toByte)
Мобильное приложение – готовый вариант
Мы подготовили бесплатный APK‑файл «ArduinoCarController.apk», который уже содержит все необходимые кнопки и подключается к HC‑05 автоматически. Скачать можно по этой ссылке.
После установки:
- Включите Bluetooth на телефоне.
- Запустите приложение и нажмите «Поиск устройств».
- Выберите ваш модуль (по умолчанию имя «HC-05»).
- Нажимайте кнопки «Вперёд», «Назад», «Влево», «Вправо», «Стоп» – машинка будет реагировать мгновенно.
Устранение типовых ошибок
- Ошибка компиляции «cannot find symbol» – проверьте, что все библиотеки подключены и версии IDE соответствуют коду.
- Модуль Bluetooth не отвечает – убедитесь, что уровень сигнала достаточен, а также проверьте делитель напряжения на RX‑пине.
- Моторы не вращаются – проверьте питание драйвера, соединения IN1‑IN4 и правильность PWM‑пинов.
- Смартфон не видит HC‑05 – иногда модуль находится в режиме «пароль», попробуйте ввести 1234 или 0000.
Контакты для обращений
Если у вас возникли вопросы, хотите заказать комплект деталей или получить индивидуальную консультацию – свяжитесь с нами любым удобным способом.
| Официальный сайт: | https://arduino-center.example.com |
| Горячая линия: | +7 (495) -23‑45‑67 (круглосуточно) |
| Номера телефонов: |
|
| Электронный адрес: | support@arduino-center.example.com |
| Личный кабинет: | https://arduino-center.example.com/cabinet |
| Личный приём (по записи): | Записаться можно через форму «Записаться на приём» |
| График приёма: |
|
| Отделы: |
|
| Руководство: |
|
| Отзывы клиентов: | «Отличный набор, быстро собрал машинку и уже управляю ею со смартфона! – Алексей, г. Москва» «Профессиональная поддержка, помогли решить проблему с Bluetooth‑модулем. – Марина, г; Санкт‑Петербург» «Курсы по Arduino в центре – просто находка для начинающих! – Игорь, г. Новосибирск» |
Управление машинкой на Arduino с телефона – это отличная возможность познакомиться с микроконтроллерами, изучить основы беспроводной связи и получить практический опыт в программировании. Следуя описанным шагам, вы сможете собрать работающий прототип за один вечер, а при необходимости обратиться за помощью к нашему Центру Arduino и робототехники – мы всегда рады поддержать ваши идеи!
Удачной сборки и приятного программирования! 🚀