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

Робот, управляемый речью

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

Arduino Nano R3
× 1
Драйвер двигателя L298n
× 1
Модуль Bluetooth HC-05
× 1

Необходимые инструменты и машины

Пистолет для горячего клея (общий)

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

IDE Arduino

Об этом проекте

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

Приступим к изготовлению, также можете посмотреть видеоурок.

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

Робот построен на печатной плате. Печатная плата, которую я разработал для использования в разных роботах. Посмотрим, какие еще компоненты я использовал -

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

  • Arduino Nano - 1x
  • Модуль драйвера двигателя L298n - 1x
  • Модуль Bluetooth Hc05 - 1x
  • Двигатель постоянного тока и совместимое колесо - 2 шт.
  • Многофункциональная печатная плата робота - 1x (ссылка)
  • Несколько мужских и женских заголовков.

Чтобы сделать тело:

  • Лист ПВХ
  • Пистолет для горячего клея

Программное обеспечение:

  • Arduino.ide
  • Созданное мной приложение

Вот и все, теперь все готово.

Шаг 2. Принцип:как это будет работать?

Всегда хорошо иметь четкое представление о том, что вы собираетесь делать, прежде чем начинать на самом деле путаницу. Может, ты и не напутаешь, а я.

Итак, Arduino - это мини-компьютер или, скажем, микроконтроллер. У него недостаточно мощности или возможностей для распознавания речи (на данный момент). Но, к счастью для меня, на моей печатной плате есть порт для подключения модуля Bluetooth. Значит, я могу подключить нашу Arduino к другим устройствам по беспроводной сети. И я этим пользуюсь. Итак, мне нужно будет создать приложение для Android, которое может выполнять операцию «Преобразование речи в текст» с использованием API Google (требуется Интернет), и после получения текста оно будет управлять Arduino через Bluetooth.

Итак, если я скажу «Вперед», робот получит «F» и двинется вперед. Это концепция. А теперь сделаем это.

Шаг 3. Создайте тело

Я сделал шасси / корпус этого робота из листа ПВХ толщиной 13 см / 13,5 см. Легче резать лезвием / ножом, отлично работает и с клеем.

Как вы можете видеть на видео, я вырезал детали для установки двух двигателей и колес внутри области платы. А потом их приклеил.

Когда вы сделаете свой, вам не нужно делать так, чтобы он выглядел именно так. Ваш бот - ваш выбор.

Шаг 4:построить схему или использовать печатную плату?

Здесь мы снова подошли к моменту, когда это полностью ваш выбор. Но для создания такой схемы требуется связка проводов, и если вы сделаете ее с использованием макета, одно неправильное подключение может помешать всему проекту. Вот почему я люблю использовать печатные платы в своих проектах.

Я разработал эту печатную плату с помощью EasyEDA и заказал ее на PCBWay.com. PCBWay обеспечивает качество по более низкой цене. Вы можете получить 10 многослойных печатных плат всего за 5 $. Они также спонсируют студенческие проекты, что мне очень нравится.

В любом случае, я пошел в раздел быстрого заказа, где все, что мне нужно было сделать, это загрузить мою печатную плату, система автоматически обнаружила все параметры для моей платы, и я просто выбрал цвета. Черный - мой любимый, и посмотрите, какой он блестящий и крутой. Так лучше, потому что они не берут денег, пока их команда инженеров не проверит вашу печатную плату, причем достаточно хорошо!

Получите печатную плату отсюда.

Однако, если вы не можете заказать или использовать эту печатную плату, вы можете сделать это на макетной плате или плате Vero. Я загрузил для вас схему фритзинга. Загрузите его снизу или получите отсюда.

речь-управляемый-робот-schematic.fzz

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

Подключение простое. Подключите все, как показано на принципиальной схеме. Начну с подключения моторов к приводу мотора -

Двигатель к водителю двигателя

  • Провода Motor1 идут к одному концу драйвера,
  • Motor2 идет на другой конец.

Для управления двигателями

  • Контакты Motor1 на драйвере двигателя L298n подключаются к 2 и 3 контактам Arduino (цифровые).
  • Motor2 подключается к 4 и 5

Модуль Bluetooth,

  • Передача на Arduino Rx
  • Прием в TX
  • VCC на 5V / VCC
  • Gnd к GND (Земля)

Батарея

Я использовал батарею 7,4 В для двигателей, которая подключается к входу драйвера двигателя, VIN и контакту заземления Arduino. Требуется общее заземление.

Потом подключил аккум, все загорелось. Значит, я не ошибся.

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

Это простая программа. Программа проверяет наличие символов и, если они получены, переходит влево вправо и т. Д. Список -

  • 'F' - вперед.
  • 'B' - назад
  • 'L' - влево
  • "R" - вправо

Модуль Bluetooth подключен к последовательному порту, поэтому Arduino обменивается данными через последовательный порт со скоростью 9600 бит / с.

Я установил раздел, я определил булавки и скорость -

  void setup () {// инициализируем режим pinspinMode (lm1, OUTPUT); pinMode (lm2, OUTPUT); pinMode (rm1, OUTPUT); pinMode (rm2, OUTPUT); // устанавливаем скорость последовательной связи Serial.begin (9600);}  

В основном цикле он проверяет данные, полученные по последовательному каналу -

  // проверяем, принимает ли arduino сигнал или нет пока (Serial.available () ==0); val =Serial.read (); // читает signalSerial.print (val);  

А затем основной код, скачайте его отсюда. Я вставил весь код ниже -

  / **** Arduino Speech / voice Controlled robot **** by Ashraf Minhaj * напишите мне на [email protected]* tutorial- ashrafminhajfb.blogspot.com * /// Объявите arduino pinsint lm1 =4; // объявляем вывод 1-го двигателя int lm2 =5; int rm1 =2; // вывод правого двигателя int rm2 =3; char val; void setup () {// инициализируем режим pinspinMode (lm1, OUTPUT); pinMode (lm2, OUTPUT); pinMode (rm1, OUTPUT); pinMode (rm2, OUTPUT) ); // устанавливаем скорость последовательной связи Serial.begin (9600);} void loop () {// проверяем, принимает ли arduino сигнал или нет, пока (Serial.available () ==0); val =Serial.read (); // считывает сигнал // Serial.print (val); / ********* Для движения вперед ********* / if (val =='F') {// Последовательный .println ("FORWARD"); 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);} / ********* Left ********* / else if (val =='L') {digitalWrite (lm2, HIGH); digitalWrite (rm1, HIGH); digitalWrite (lm1, LOW); digitalWrite (rm2, LOW);} / ********* STOP ********* / else {digitalWrite (lm1, LOW ); digitalWrite (rm1, LOW); digitalWrite (lm2, LOW); digitalWrite (rm2, LOW);} delay (10);}  

Загрузите код и создайте приложение.

Шаг 7. Приложение для РЕЧИ в ТЕКСТ

Я сделал приложение с помощью изобретателя приложений Массачусетского технологического института. Вы можете редактировать и настраивать это приложение в соответствии с вашими требованиями. Получите aia fie отсюда.

Это приложение использует соединение Bluetooth для управления роботом. Для этого мне нужно было подключить модуль Bluetooth HC05 к моему телефону. Пароль по умолчанию - 1234 или 0000.

Это приложение использует Google Speech to Text API для преобразования моих слов в текстовую форму. Затем он переводит предложение в нижний регистр, так легче обрабатывать. И соответствует с использованием операторов if else. Если пользователь говорит «вперед», отправьте Arduono букву «F», и он пойдет вперед. Вот и все.

Создайте и сохраните как файл APK или установите его на свой телефон.

речь-управляемый-робот-schematic.fzz

Шаг 8. Включите бота, запустите приложение и вперед!

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

Спасибо за чтение. Ознакомьтесь с моим последним проектом -

Код

  • Фрагмент кода №1
  • Фрагмент кода №3
Фрагмент кода №1 Обычный текст
 void setup () {// инициализируем режим контактов pinMode (lm1, OUTPUT); pinMode (lm2, ВЫХОД); pinMode (rm1, ВЫХОД); pinMode (rm2, ВЫХОД); // устанавливаем скорость последовательной связи Serial.begin (9600);} 
Фрагмент кода № 3 Обычный текст
 / **** Arduino Speech / voice Управляемый робот *** * автор:Ashraf Minhaj * напишите мне по адресу [email protected] * tutorial- ashrafminhajfb.blogspot.com * /// Объявите штырь Arduino lm1 =4; // объявляем вывод 1-го двигателя int lm2 =5; int rm1 =2; // вывод правого двигателя int rm2 =3; char val; void setup () {// инициализируем режим выводов pinMode (lm1, OUTPUT); pinMode (lm2, ВЫХОД); pinMode (rm1, ВЫХОД); pinMode (rm2, ВЫХОД); // устанавливаем скорость последовательной связи Serial.begin (9600);} void loop () {// проверяем, принимает ли Arduino сигнал или нет while (Serial.available () ==0); val =Serial.read (); // считывает сигнал //Serial.print(val); / ********* Для движения вперед ********* / if (val =='F') {//Serial.println("FORWARD "); digitalWrite (lm1, HIGH); digitalWrite (rm1, HIGH); digitalWrite (лм2, НИЗКИЙ); 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 (лм2, НИЗКИЙ); digitalWrite (rm1, LOW); } / ********* Left ********* / else if (val =='L') {digitalWrite (lm2, HIGH); digitalWrite (rm1, HIGH); digitalWrite (lm1, LOW); digitalWrite (rm2, LOW); } / ********* СТОП ********* / else {digitalWrite (lm1, LOW); digitalWrite (rm1, LOW); digitalWrite (лм2, НИЗКИЙ); digitalWrite (rm2, LOW); } задержка (10); } 
Github
https://github.com/ashraf-minhaj/speech-controlled-robothttps://github.com/ashraf-minhaj/speech-controlled-robot

Схема

управляемый-речью-робот-schematic_hUoWKpapKe.fzz

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

  1. Робот Raspberry Pi, управляемый через Bluetooth
  2. Создайте своего робота для видеостриминга, управляемого через Интернет, с помощью Arduino и Raspberry Pi
  3. Windows 10 IoT Core:робот, управляемый речью
  4. Робот, управляемый Wi-Fi и использующий Raspberry Pi
  5. Радиоуправляемая машина с джойстиком
  6. Робот-последователь линии
  7. Роботизированная рука, управляемая нунчук (с Arduino)
  8. Рука робота, управляемая через Ethernet
  9. MobBob:самостоятельный робот Arduino, управляемый смартфоном Android
  10. Робот-пианино, управляемый Arduino:PiBot