Удалённое управление автомобилем на Arduino Uno и Bluetooth: пошаговое руководство
Компоненты и материалы
| Название | Количество |
|---|---|
| Arduino UNO | 1 |
| Драйвер двигателей L298 (SparkFun Dual H-Bridge) | 1 |
Необходимые инструменты и оборудование
- 3D-принтер (для печати корпуса)
Приложения и онлайн-сервисы
- MIT App Inventor 2 — для создания Android-приложения управления
- Arduino IDE — для прошивки микроконтроллера
О проекте
Этот проект реализует удалённое управление модельным автомобилем через Bluetooth. Автор хотел проверить возможность управления машиной разными способами и выбрал Bluetooth как второй свой проект на Hackster.
Код (Arduino)
Скетч обрабатывает команды, приходящие по последовательному порту (Bluetooth), и управляет моторами через драйвер L298. Реализованы команды для движения вперёд, назад, поворотов и регулировки скорости.
char buffer[67];
byte Pino02 = 2, Pino03 = 3, Pino04 = 4, Pino05 = 5;
byte Pino06 = 6, Pino07 = 7, Pino12 = 12, Pino13 = 13;
void setup() {
Serial.begin(9600);
Serial.flush();
pinMode(Pino02, OUTPUT); pinMode(Pino03, OUTPUT);
pinMode(Pino04, OUTPUT); pinMode(Pino05, OUTPUT);
pinMode(Pino06, OUTPUT); pinMode(Pino07, OUTPUT);
pinMode(9, OUTPUT); pinMode(10, OUTPUT);
pinMode(12, OUTPUT); pinMode(13, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
int index = 0;
delay(100);
int numChar = Serial.available();
if (numChar > 65) numChar = 65;
while (numChar--) buffer[index++] = Serial.read();
splitString(buffer);
}
}
void splitString(char* data) {
Serial.print("Данные: "); Serial.println(data);
char* parameter = strtok(data, " ,");
while (parameter != NULL) {
setLED(parameter);
parameter = strtok(NULL, " ,");
}
for (int x = 0; x < 66; x++) buffer[x] = '\0';
Serial.flush();
}
void setLED(char* data) {
// Команды: A, C — повороты вперёд; B, M, N, P, L — назад с разной скоростью
// D, H, I, K, L — вперёд с разной скоростью; U — стоп; E, F — медленно
// Реализация через analogWrite на пинах 9,10 (PWM) и digitalWrite на управляющих пинах
// ... (полный код в исходнике)
}
Печатные файлы и корпус
Файл для 3D-печати: arduinoslider2_dxxyKBsRDa.apk (название, вероятно, ошибочно — должен быть .stl или .obj).
Производственный процесс
- Интегрированная система контроля доступа с QR, RFID и верификацией температуры
- Создание быстрой надежной системы обнаружения пожара с Samsung SAMI, Arduino UNO и Raspberry Pi
- Часы реального времени на Arduino с расчётом времени намаза
- Умная копилка: управление монетоприёмником на Arduino Nano
- Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
- Управление двумя шаговыми двигателями через джойстик на Arduino Nano — простой урок (Visuino)
- Мастерство 8×8 LED-матрицы с Arduino Uno: Пошаговое руководство
- Создание интерактивного 4x4x4 светодиодного куба на Arduino Uno и 1Sheeld
- Bluetooth-матрица 8×8 с бегущей строкой на Arduino
- Управление 4-пиновым PWM-вентилятором 25 кГц на Arduino Uno — Сборка, код и тесты