Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Робот, управляемый жестами: Arduino + MPU-6050 + Bluetooth

Компоненты и материалы

Arduino UNO 1
Arduino Nano R3 1
Bluetooth HC-05 2
MPU-6050 (3-осевой гироскоп/акселерометр) 1
DC моторы 12В 2
Резиновые колёса 1 комплект
Драйвер двигателей L293D 1
Батареи 9В (Крона) 2

Инструменты

Приложения

О проекте

Как сделать жесткоуправляемую машинку своими руками. Простое применение MPU-6050 (3-осевой гироскоп + акселерометр). Понимая работу с датчиком, интерфейс с Arduino и передачу данных по Bluetooth — можно делать гораздо больше. Здесь фокус на Bluetooth-to-Bluetooth связи между двумя HC-05.

Следуйте видео для сборки корпуса и проводки. Схемы передатчика (пульта) и приёмника (робота) прилагаются.

Прямой заказ PCB на PCBWay: ссылка

Настройка Bluetooth-модулей

HC-05 из коробки — Slave. Можно слать данные с телефона, пароль 1234/0000. Но чтобы передавать данные из модуля в другой модуль — нужно настроить.

В проекте: первый модуль — Slave (на роботе, принимает команды), второй — Master (на пульте, шлёт данные от MPU-6050).

Настройка Slave-модуля

Подключите к Arduino по схеме, залейте скетч configure (SoftwareSerial на пинах 10/11, скорость 38400).

Отключите модуль. Зажмите кнопку (KEY) на модуле и подключите питание. LED мигает редко (раз в 2 сек) — режим AT-команд. Откройте Serial Monitor (9600, Both NL & CR). Отправьте AT — должен ответить OK.

Последовательно введите:

AT+ORGL      // Заводские настройки
AT+RMAAD     // Удалить старые пары
AT+UART?     // Проверить бодрейт
AT+UART=38400,0,0  // Установить 38400
AT+ROLE?     // Проверить роль (0=Slave, 1=Master)
AT+ROLE=0    // Установить Slave
AT+ADDR?     // Узнать адрес — ЗАПИШИТЕ!

Настройка Slave завершена.

Настройка Master-модуля

Подключите второй модуль так же, войдите в AT-режим. Введите:

AT+ORGL
AT+RMAAD
AT+UART?
AT+UART=38400,0,0
AT+ROLE?
AT+ROLE=1        // Установить Master
AT+CMODE=0       // Подключение только к одному устройству
AT+BIND="адрес_Slave"  // Привязка к Slave

Готово — модули будут автосоединяться при включении.

Библиотеки и код

Установите библиотеки для MPU-6050 и I2C. Скачайте исходники: gesture_control_robot.rar

Код робота (Car Unit) — Arduino UNO

// Gesture Controlled Robotic Car
int lm1=8, lm2=9, rm1=10, rm2=11;
char d=0;
void setup() {
  pinMode(lm1,OUTPUT); pinMode(lm2,OUTPUT);
  pinMode(rm1,OUTPUT); pinMode(rm2,OUTPUT);
  Serial.begin(38400); sTOP();
}
void loop() {
  if(Serial.available()>0) {
    d=Serial.read();
    if(d=='F') ForWard();
    else if(d=='B') BackWard();
    else if(d=='L') Left();
    else if(d=='R') Right();
    else if(d=='S') sTOP();
  }
}
void ForWard()  { digitalWrite(lm1,HIGH); digitalWrite(lm2,LOW); digitalWrite(rm1,HIGH); digitalWrite(rm2,LOW); }
void BackWard() { digitalWrite(lm1,LOW); digitalWrite(lm2,HIGH); digitalWrite(rm1,LOW); digitalWrite(rm2,HIGH); }
void Left()     { digitalWrite(lm1,LOW); digitalWrite(lm2,HIGH); digitalWrite(rm1,HIGH); digitalWrite(rm2,LOW); }
void Right()    { digitalWrite(lm1,HIGH); digitalWrite(lm2,LOW); digitalWrite(rm1,LOW); digitalWrite(rm2,HIGH); }
void sTOP()     { digitalWrite(lm1,LOW); digitalWrite(lm2,LOW); digitalWrite(rm1,LOW); digitalWrite(rm2,LOW); }

Код пульта (Remote Unit) — Arduino Nano

Использует DMP MPU-6050 для получения yaw/pitch/roll. По pitch/roll определяет жест и шлёт F/B/L/R/S по Bluetooth (SoftwareSerial на 10/11, 38400). Кнопка на пине 8 переключает режим управления.

Полный код велик — см. исходник или GitHub.

Финальная сборка

Slave Bluetooth на роботе, Master на пульте. Включаем — играем!

Надеюсь, полезно. Лайк, репост, комментарии. Подпишись на YouTube!

Код

Пульт (Remote Unit) — полный скетч

Приведён в исходнике (около 300 строк). Основное: инициализация DMP MPU-6050, чтение кватернионов → yaw/pitch/roll, логика порогов (±25° pitch, ±20-25° roll) → отправка команд F/B/L/R/S по Bluetooth.

Схемы

Схема подключения прилагается.

Производственный процесс

  1. Создание робота на Arduino и Raspberry Pi: пошаговое руководство
  2. Сборка домашней машины для написания домашних заданий (плоттер-писатель)
  3. Робот-ускользатор на сервоприводе: сборка на Arduino и HC-SR04
  4. Автономный линий-следующий робот на Arduino UNO
  5. Создание настраиваемой «бьющейся» клавиши на Arduino: пошаговое руководство
  6. Автономный домашний помощник-робот: полный список деталей и руководство по настройке (ROS, Alexa, MoveIt)
  7. Генерация музыкальных тонов на Arduino: полный спектр 88 клавиш пианино
  8. Автоматическая дверь на Arduino с ультразвуковым датчиком HC-SR04
  9. Управление манипулятором LittleArm через Android-приложение по Bluetooth
  10. Набор для создания робота с умной внутренней навигацией на базе Arduino