Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Robot controlado por voz

Componentes y suministros

Arduino Nano R3
× 1
controlador de motor L298n
× 1
Módulo Bluetooth HC-05
× 1

Herramientas y máquinas necesarias

Pistola de pegamento caliente (genérica)

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Los robots son geniales. Tener un robot que pueda moverse escuchando tus comandos de voz es más genial. Hacer un robot controlado por voz o voz con Arduino es cada vez más genial. Porque los Arduino son baratos y fáciles de modificar.

Comencemos a hacer, también puedes ver el video tutorial.

Paso 1:piezas necesarias

El robot está basado en PCB. Un PCB que diseñé para usar en diferentes robots. Veamos qué otros componentes utilicé -

Electrónica:

  • Arduino Nano - 1x
  • Módulo controlador de motor L298n - 1x
  • Módulo Bluetooth Hc05 - 1x
  • Motor de CC y rueda compatible - 2x
  • PCB de robot multifuncional - 1x (enlace)
  • Algunos encabezados masculinos y femeninos

Para hacer cuerpo:

  • Lámina de PVC
  • Pistola de pegamento caliente

Software:

  • Arduino.ide
  • Una aplicación que hice

Eso es todo, ahora estamos listos para comenzar.

Paso 2:Principio:¿Cómo funcionará?

Siempre es bueno tener una comprensión clara de lo que vas a hacer antes de empezar a estropear las cosas. Puede que tú no te metas, pero yo sí.

Entonces, Arduino es una mini computadora o digamos, microcontrolador. No tiene suficiente potencia o capacidad para realizar el reconocimiento de voz (a partir de ahora). Pero por suerte para mí, mi placa PCB tiene un puerto para conectar el módulo Bluetooth. Significa que puedo conectar nuestro Arduino de forma inalámbrica a otros dispositivos. Y me estoy aprovechando de esa cosa. Entonces, tendré que crear una aplicación de Android que pueda realizar la operación "Speech to Text" usando la API de Google (requiere Internet) y después de recibir el texto, controlará Arduino a través de Bluetooth.

Entonces, si digo 'Adelante', el robot obtendrá 'F' y avanzará. Ese es el concepto. Ahora hagámoslo.

Paso 3:haz el cuerpo

Hice el chasis / cuerpo de este robot con una lámina de PVC de 13 cm / 13,5 cm. Es más fácil de cortar con una hoja / cuchillo y también funciona muy bien con pegamentos.

Como podéis ver en el vídeo, corté piezas para montar dos motores y ruedas ambos dentro de la zona del tablero. Y luego los pegó.

Cuando hagas el tuyo, no es necesario que se vea exactamente así. Tu bot es tu elección.

Paso 4:¿Construye el circuito o usa PCB?

Aquí nuevamente llegamos al punto donde es completamente su elección. Pero, hacer un circuito como este requiere un montón de cableado, y si lo hace usando una placa de prueba, una mala conexión puede obstaculizar todo el proyecto. Por eso me gusta usar PCB en mis proyectos.

Diseñé este PCB usando EasyEDA y lo pedí a PCBWay.com. PCBWay ofrece calidad a un precio más económico. Puede obtener 10 PCB multicapa con solo 5 $. También patrocinan proyectos de estudiantes, lo que me parece genial.

De todos modos, fui a la sección de Pedido rápido donde todo lo que tenía que hacer era cargar mi PCB, el sistema detectó automáticamente todos los parámetros de mi placa y solo seleccioné los colores. El negro es mi favorito y mira lo brillante y fresco que resultó. Es mejor porque no aceptan dinero hasta que su equipo de ingeniería inspecciona su PCB, ¡lo suficientemente bien!

Obtenga la placa PCB de aquí.

Sin embargo, si no puede pedir o usar este PCB, puede hacerlo en una placa de prueba o en una placa de visualización. He subido el circuito fritzing para ti. Descárguelo desde abajo o consígalo desde aquí.

robot-controlado-por-voz-esquemático.fzz

Paso 5:conecte la electrónica

La conexión es sencilla. Conecte todas las cosas como se muestra en el diagrama del circuito. Empezaré conectando motores al controlador del motor -

Motor a controlador de motor,

  • Los cables del motor1 van a un extremo del controlador,
  • Motor2 va al otro extremo.

Para controlar los motores,

  • Los pines Motor1 en el controlador del motor L298n se conectan a Arduino 2 y 3 pines (digital).
  • Motor2 se conecta en 4 y 5

Módulo Bluetooth

  • Tx a Arduino Rx
  • Rx a TX
  • VCC a 5V / VCC
  • Gnd a GND (tierra)

Batería,

Usé una batería de 7.4V para los motores, que se conecta a la entrada del controlador del motor y Arduino VIN y Ground Pin. Se necesita una conexión a tierra común.

Luego conecté la batería en todas las cosas encendidas. Significa que no cometí ningún error.

Paso 6:Programación de Arduino

Es un programa sencillo. El programa busca caracteres y, si se reciben, va de izquierda a derecha, etc. La lista es -

  • 'F':Adelante
  • "B":al revés
  • 'L' - Izquierda
  • 'R' - Derecha

El módulo Bluetooth está conectado en el puerto serie, por lo que Arduino se comunica a través de serie en 9600 bps.

Configuré la sección, definí los pines y la velocidad de carga -

  void setup () {// inicializa el modo de pinspinMode (lm1, OUTPUT); pinMode (lm2, OUTPUT); pinMode (rm1, OUTPUT); pinMode (rm2, OUTPUT); // establece el tasa de comunicación en serieSerial.begin (9600);}  

El bucle principal comprobó los datos recibidos en serie-

  // comprueba si arduino está recibiendo señal o no mientras (Serial.available () ==0); val =Serial.read (); // lee el signalSerial.print (val);  

Y luego el código principal, descárgalo desde aquí. Pegué el código completo a continuación -

  / **** Arduino Speech / voice Controlled robot **** by Ashraf Minhaj * envíeme un correo electrónico a [email protected]* tutorial- ashrafminhajfb.blogspot.com * /// Declare el arduino pinsint lm1 =4; // declara el 1er motor pinsint lm2 =5; int rm1 =2; // motor derecho pinsint rm2 =3; char val; void setup () {// inicializa el modo de pinspinMode (lm1, OUTPUT); pinMode (lm2, OUTPUT); pinMode (rm1, OUTPUT); pinMode (rm2, OUTPUT) ); // establece la velocidad de comunicación serialSerial.begin (9600);} void loop () {// verifica si arduino está recibiendo señal o no mientras (Serial.available () ==0); val =Serial.read (); // lee la señal // Serial.print (val); / ********* Forward motion ********* / if (val =='F') {// Serial .println ("FORWARD"); digitalWrite (lm1, HIGH); digitalWrite (rm1, HIGH); digitalWrite (lm2, LOW); digitalWrite (rm2, LOW);} / ********* Para movimiento hacia atrás ********* / else if (val =='B') {digitalWrite (lm2, HIGH); digitalWrite (rm2, HIGH); digitalWrite (lm1, LOW); digitalWrite (rm1, LOW);} / ********* Derecha ********* / else if (val =='R') {digitalWrite (lm1, HIGH); digitalWrite (rm2, HIGH); digitalWrite (lm2, LOW); digitalWrite (rm1, LOW);} / ********* Izquierda ********* / 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);} retardo (10);}  

Sube el código y luego crea la aplicación.

Paso 7:Aplicación para SPEECH to TEXT

Hice la aplicación usando el inventor de la aplicación MIT. Puede editar y personalizar esta aplicación según sus requisitos. Obtén el aia fie de aquí.

Esta aplicación utiliza conectividad Bluetooth para controlar el robot. Para eso, necesitaba emparejar el módulo Bluetooth HC05 con mi teléfono. La contraseña predeterminada es 1234 o 0000.

Esta aplicación utiliza la API de Google Speech to Text para convertir lo que digo en forma de texto. Luego convierte la oración en minúsculas, es más fácil de procesar de esa manera. Y coincide con declaraciones if else. Si el usuario dice 'reenviar' envíe a Arduono la letra 'F' y seguirá adelante. Eso es todo.

Construya y guarde como archivo APK, o use el mío, instálelo en su teléfono.

robot-controlado-por-voz-esquemático.fzz

Paso 8:Encienda el bot, ejecute la aplicación y listo

¡Ahora solo conecta la batería y usa la aplicación de Android para jugar con tu nuevo robot!

Gracias por leer. Echa un vistazo a mi último proyecto -

Código

  • Fragmento de código n. ° 1
  • Fragmento de código n. ° 3
Fragmento de código n. ° 1 Texto sin formato
 void setup () {// inicializa el modo de los pines pinMode (lm1, OUTPUT); pinMode (lm2, SALIDA); pinMode (rm1, SALIDA); pinMode (rm2, SALIDA); // establece la velocidad de comunicación serial Serial.begin (9600);} 
Fragmento de código n. ° 3 Texto sin formato
 / **** Arduino Speech / voice Controlled robot *** * por Ashraf Minhaj * envíame un correo electrónico a [email protected] * tutorial- ashrafminhajfb.blogspot.com * /// Declara el arduino pinsint lm1 =4; // declara el 1er motor pinsint lm2 =5; int rm1 =2; // motor derecho pinsint rm2 =3; char val; void setup () {// iniciar el modo de los pins pinMode (lm1, OUTPUT); pinMode (lm2, SALIDA); pinMode (rm1, SALIDA); pinMode (rm2, SALIDA); // establece la velocidad de comunicación serial Serial.begin (9600);} void loop () {// verifica si arduino está recibiendo señal o no while (Serial.available () ==0); val =Serial.read (); // lee la señal //Serial.print(val); / ********* Para movimiento hacia adelante ********* / if (val =='F') {//Serial.println("FORWARD "); escritura digital (lm1, ALTA); escritura digital (rm1, ALTA); escritura digital (lm2, BAJA); digitalWrite (rm2, BAJO); } / ********* Para movimiento hacia atrás ********* / else if (val =='B') {digitalWrite (lm2, HIGH); escritura digital (rm2, ALTA); escritura digital (lm1, BAJA); digitalWrite (rm1, BAJO); } / ********* Derecha ********* / else if (val =='R') {digitalWrite (lm1, HIGH); escritura digital (rm2, ALTA); escritura digital (lm2, BAJA); digitalWrite (rm1, BAJO); } / ********* Izquierda ********* / else if (val =='L') {digitalWrite (lm2, HIGH); escritura digital (rm1, ALTA); escritura digital (lm1, BAJA); digitalWrite (rm2, BAJO); } / ********* DETENER ********* / else {digitalWrite (lm1, LOW); digitalWrite (rm1, BAJO); escritura digital (lm2, BAJA); digitalWrite (rm2, BAJO); } retraso (10); } 
Github
https://github.com/ashraf-minhaj/speech-controlled-robothttps://github.com/ashraf-minhaj/speech-controlled-robot

Esquemas

robot-controlado-por-voz-esquemático_hUoWKpapKe.fzz

Proceso de manufactura

  1. Robot Raspberry Pi controlado por Bluetooth
  2. Cree su robot de transmisión de video controlado por Internet con Arduino y Raspberry Pi
  3. Windows 10 IoT Core:Robot controlado por voz
  4. Robot controlado por Wifi usando Raspberry Pi
  5. Coche RC controlado por joystick
  6. Robot seguidor de línea
  7. Brazo robótico controlado por Nunchuk (con Arduino)
  8. Brazo robótico controlado a través de Ethernet
  9. MobBob:Robot Arduino DIY controlado por un teléfono inteligente Android
  10. Robot de piano controlado por Arduino:PiBot
  11. Robot asistente doméstico autónomo