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

Голосовой робот на Arduino Nano: Управление речью через Bluetooth

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

Arduino Nano R3 1
Драйвер двигателей L298N 1
Bluetooth-модуль HC-05 1
DC-моторы с колесами 2
Многофункциональная робот-плата (PCB) 1
Пиновые заголовки (мамины/папины) несколько

Инструменты

Приложения и сервисы

О проекте

Роботы — это круто. Робот, который ездит и слушается голосовых команд — еще круче. Сделать такого голосового робота на Arduino — максимально круто, потому что Arduino дешевы и легко настраиваемы.

Голосовой робот на Arduino Nano: Управление речью через Bluetooth

Шаг 1: Необходимые детали

Электроника:

Для корпуса:

Софт:

Шаг 2: Принцип работы

Arduino — это микроконтроллер, у него недостаточно мощности для распознавания речи. Но моя PCB имеет порт для Bluetooth, значит, можно связать Arduino беспроводно с другими устройствами. Я использую это: делаю Android-приложение, которое выполняет "Speech to Text" через Google API (нужен интернет), а затем передает текст Arduino по Bluetooth.

Если я говорю "Forward" (вперед), робот получает 'F' и едет вперед. Вот концепция. Делаем.

Шаг 3: Корпус

Корпус сделал из ПВХ-листа 13x13.5 см. Легко режется ножом и хорошо клеится. Вырезал детали для двух моторов и колес внутри области платы и склеил. Ваш робот — ваш выбор, копировать точно не обязательно.

Шаг 4: Схема или PCB?

Голосовой робот на Arduino Nano: Управление речью через Bluetooth
Голосовой робот на Arduino Nano: Управление речью через Bluetooth

Можно собрать на макетке, но много проводов и одна ошибка может всё сломать. Поэтому я использую PCB. Разработал в EasyEDA, заказал на PCBWay.com — качество дешево (10 плат за $5). Также спонсируют студенческие проекты.

Если не можете заказать PCB — соберите на макетке или вероборде. Файл схемы Fritzing прилагается (speech-controlled-robot-schematic.fzz).

Шаг 5: Подключение электроники

Голосовой робот на Arduino Nano: Управление речью через Bluetooth

Моторы к драйверу:

Управление моторами (входы L298N):

Bluetooth HC-05:

Питание:

Использовал 7.4В батарею для моторов — на вход драйвера и на VIN+GND Arduino. Общая земля обязательна.

Шаг 6: Программирование Arduino

Простая программа: проверяет принятые символы и управляет моторами:

Bluetooth на Serial порту, скорость 9600 бод.

Полный код

/**** Arduino Speech/Voice Controlled Robot ***
 * by Ashraf Minhaj
 * mail: ashraf_minhaj@yahoo.com
 * tutorial: ashrafminhajfb.blogspot.com
 */
int lm1 = 4; // левый мотор
int lm2 = 5;
int rm1 = 2; // правый мотор
int rm2 = 3;
char val;

void setup() {
  pinMode(lm1, OUTPUT);
  pinMode(lm2, OUTPUT);
  pinMode(rm1, OUTPUT);
  pinMode(rm2, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  while(Serial.available() == 0);
  val = Serial.read();
  // Serial.print(val);

  // Вперед
  if (val == 'F') {
    digitalWrite(lm1, HIGH);
    digitalWrite(rm1, HIGH);
    digitalWrite(lm2, LOW);
    digitalWrite(rm2, LOW);
  }
  // Назад
  else if(val == 'B') {
    digitalWrite(lm2, HIGH);
    digitalWrite(rm2, HIGH);
    digitalWrite(lm1, LOW);
    digitalWrite(rm1, LOW);
  }
  // Вправо
  else if(val == 'R') {
    digitalWrite(lm1, HIGH);
    digitalWrite(rm2, HIGH);
    digitalWrite(lm2, LOW);
    digitalWrite(rm1, LOW);
  }
  // Влево
  else if(val == 'L') {
    digitalWrite(lm2, HIGH);
    digitalWrite(rm1, HIGH);
    digitalWrite(lm1, LOW);
    digitalWrite(rm2, LOW);
  }
  // Стоп
  else {
    digitalWrite(lm1, LOW);
    digitalWrite(rm1, LOW);
    digitalWrite(lm2, LOW);
    digitalWrite(rm2, LOW);
  }
  delay(10);
}

Шаг 7: Приложение для Speech-to-Text

Голосовой робот на Arduino Nano: Управление речью через Bluetooth

Приложение сделано в MIT App Inventor. Можно редактировать под свои нужды. Файл .aia доступен по ссылке.

Использует Bluetooth для управления. Нужно спарить HC-05 с телефоном (пароль по умолчанию 1234 или 0000).

Приложение использует Google Speech-to-Text API для преобразования речи в текст. Приводит к нижнему регистру для простоты обработки. Сравнивает через if-else: если пользователь сказал "forward" — отправляет Arduino 'F', робот едет вперед.

Собираем APK, устанавливаем на телефон.

Шаг 8: Запуск!

Подключаем батарею, запускаем приложение и играемся с новым роботом!

Спасибо за чтение. Посмотрите мой последний проект — ...

Схемы

Файл схемы Fritzing: speech-controlled-robot-schematic_hUoWKpapKe.fzz

GitHub репозиторий

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

  1. Создание Bluetooth-робота на Raspberry Pi с аудио-обратной связью
  2. Создание интернет-управляемого видеostreaming-робота на Arduino и Raspberry Pi
  3. Построение робота с голосовым управлением на Windows 10 IoT Core на Raspberry Pi 2
  4. Построение Wi-Fi-управляемого робота на Raspberry Pi с Python — пошаговое руководство
  5. Превращаем старую радиоуправляемую машину в джойстик-контролируемый болид на Arduino
  6. Автономный линий-следующий робот на Arduino UNO
  7. Роботизированная рука 6 степеней свободы на Arduino Mega с управлением через Nunchuk
  8. Управление манипулятором по Ethernet: Arduino 101 + WIZ750SR + Android-приложение
  9. MobBob: Самостоятельная сборка Arduino-робота под управлением Android-смартфона
  10. PiBot: Робот-пианист на Arduino для точного исполнения музыки