Controlar un LED con tu voz usando Arduino y el módulo de reconocimiento de voz Elechouse

Introducción

En la era del Internet de las Cosas (IoT), cada vez más dispositivos se controlan con comandos de voz. ¿Por qué no llevar esto a tu próximo proyecto de Arduino? En este post, te mostraremos cómo puedes usar tu voz para controlar un LED utilizando el módulo de reconocimiento de voz V3 de Elechouse.

¿Qué es el módulo de reconocimiento de voz V3 de Elechouse?

Es una placa versátil y fácil de usar que puede agregar capacidades de reconocimiento de voz a tus proyectos de Arduino.

Aquí hay una descripción detallada de sus características:

  • Soporta un máximo de 80 comandos de voz: Cada comando puede tener una duración de hasta 1500ms, generalmente correspondiente a una o dos palabras.
  • Máximo 7 comandos de voz efectivos al mismo tiempo: El módulo puede reconocer y responder hasta 7 comandos de voz diferentes simultáneamente.
  • Biblioteca Arduino suministrada: Elechouse proporciona una biblioteca específica para Arduino que facilita la integración y la programación del módulo VR3 en tus proyectos de Arduino.
  • Fácil control a través de UART/GPIO: El módulo puede ser controlado usando UART, que es una forma de comunicación serial, o GPIO, que son los pines de entrada y salida comunes en un microcontrolador.
  • Salida controlada por el usuario a través de Pin general: Los usuarios pueden controlar la salida de los pines generales del módulo, lo que es útil para activar o desactivar dispositivos conectados en respuesta a comandos de voz.
  • Alimentación: El módulo se alimenta con una tensión de 4.5-5.5V, lo que es perfectamente compatible con la alimentación que proporcionan placas como Arduino UNO o Mega.

Materiales necesarios

  • Placa Arduino (como Arduino UNO)
  • Módulo de reconocimiento de voz VR3 de Elechouse
  • Un LED
  • Una resistencia de 220 ohmios
  • Cables de conexión

Conexión del hardware

  1. Conexiones del módulo VR3 a Arduino:
  • Conecta el pin TX del módulo VR3 al pin digital 2 en tu placa Arduino.
  • Conecta el pin RX del módulo VR3 al pin digital 3 en tu placa Arduino.
  • Conecta el pin VCC del módulo VR3 al pin 5V en tu placa Arduino para proveer alimentación.
  • Conecta el pin GND del módulo VR3 al pin GND en tu placa Arduino para completar el circuito.
  1. Conexiones del LED:
  • Conecta el cátodo del LED (el lado corto) a una resistencia de 220 ohmios. Luego, conecta el otro extremo de la resistencia al pin GND en tu placa Arduino.
  • Conecta el ánodo del LED (el lado largo) al pin digital 4 en tu placa Arduino.

Importación de la biblioteca

Para este proyecto, vamos a utilizar la biblioteca VoiceRecognitionV3 de Elechouse, que proporciona funciones específicas para interactuar con el módulo de reconocimiento de voz VR3.

Esta biblioteca se puede descargar desde el siguiente enlace: https://github.com/elechouse/VoiceRecognitionV3/archive/master.zip

Una vez descargada, la biblioteca debe ser instalada en tu entorno de desarrollo Arduino IDE. Aquí están los pasos para hacerlo:

  1. Descarga la biblioteca: Inicia la descarga de la biblioteca desde el enlace proporcionado. Generalmente, la biblioteca se descargará como un archivo .zip.

  2. Abre Arduino IDE: Inicia tu entorno de desarrollo Arduino IDE.

  3. Instala la biblioteca: En Arduino IDE, ve al menú Sketch > Incluir biblioteca > Añadir biblioteca .ZIP.... Se abrirá una ventana de diálogo.

  4. Selecciona el archivo .zip descargado: Navega hasta la ubicación donde descargaste el archivo .zip de la biblioteca. Selecciona el archivo y haz click en Abrir o Aceptar.

Entrenar los comandos

Tras instalar la biblioteca en tu Arduino IDE, abre uno de los ejemplos proporcionados por la biblioteca llamado vr_sample_train. Este ejemplo es un sketch que te muestra cómo entrenar tu módulo VR3 con comandos de voz.

Aquí es donde puedes compartir y hablar sobre el código proporcionado. 

En la barra de menú de Arduino IDE, ve a Archivo > Ejemplos > VoiceRecognitionV3 > vr_sample_train.

Después de configurar tu código en el Arduino IDE, selecciona el tipo de placa y puerto en Herramientas, luego carga el código con el botón Subir. Abre el Monitor Serie, establece la velocidad de transmisión en 115200 y selecciona "Nueva línea" o "NL & CR" en las opciones de envío.

Verás diferentes opciones para interactuar con el módulo de reconocimiento de voz VR3. Aquí está lo que hace cada una:

  1. train: Esta opción entrena al módulo VR3 con nuevos comandos de voz.

  2. load: Esta opción carga comandos de voz ya entrenados en el módulo VR3 para su reconocimiento.

  3. clear: se utiliza para detener el reconocimiento de voz y vaciar el reconocedor.
  4. record: Cuando se entrena el módulo para reconocer nuevos comandos de voz, esta opción te permitirá comprobar si el proceso de entrenamiento fue exitoso.
  5. vr: Esta opción te permitirá ver si el módulo está listo para empezar a reconocer los comandos de voz que ha aprendido.
  6. getsig: Obtiene la firma de un comando de voz registrado.
  7. sigtrain: Te permite entrenar el módulo con una firma de voz.
  8. settings: Muestra los ajustes actuales del módulo.
  9. help: Muestra información sobre cómo utilizar las distintas opciones.

Cada una de estas opciones es un comando que puedes introducir en el Monitor Serie para interactuar con el módulo de reconocimiento de voz.

Entrenar el módulo de reconocimiento de voz VR3 implica enseñarle a reconocer ciertos comandos de voz específicos. Para hacer esto, debes usar el comando sigtrain a través del Monitor Serie.

  1. Envia el comando sigtrain 0 Encendido  para grabar el comando en el registro 0 con la firma "Encendido".
  2. Envia el comando sigtrain 1 Apagado  para grabar el comando en el registro 1 con la firma "Apagado".

El módulo de reconocimiento de voz VR3 tiene dos LEDs para indicar el proceso de entrenamiento:

  1. Al enviar el comando de entrenamiento, el LED amarillo (SYS_LED) parpadea rápidamente. Debes prepararte para hablar.
  2. Pronuncia tu comando de voz cuando el LED rojo (STATUS_LED) se encienda. Esta luz indica que el módulo está registrando tu voz.
  3. Cuando el LED rojo se apague, indica que la grabación ha finalizado.
  4. Una vez que termine la grabación, el LED amarillo (SYS_LED) comenzará a parpadear de nuevo, indicando que debes prepararte para repetir el comando de voz.
  5. Si el entrenamiento es exitoso, ambos LEDs parpadearán juntos. Si falla, parpadearán juntos, pero más rápido.

Una vez que hayas completado el entrenamiento de voz utilizando el comando sigtrain, puedes usar el comando record para verificar si el módulo ha almacenado correctamente el comando de voz.

Código para controlar el LED

Una vez que has entrenado y guardado tus comandos de voz (en este caso, "Encendido" y "Apagado") en el módulo VR3 utilizando el sketch de ejemplo vr_sample_train, el siguiente paso es cargar el código que efectivamente controla el LED utilizando estos comandos de voz.

 El código proporcionado escucha constantemente los comandos de voz y, cuando reconoce uno de los comandos entrenados, realiza la acción correspondiente: si escucha "Encendido", enciende el LED e imprime el mensaje "Led encendido"; y si escucha "Apagado", apaga el LED e imprime "Led apagado".

Recomendaciones

El módulo de reconocimiento de voz VR3 puede almacenar hasta 80 comandos de voz, pero solo puede reconocer 7 a la vez. Para manejar más comandos simultáneamente, se pueden usar grupos. Los grupos permiten organizar los comandos en conjuntos y cambiar entre estos conjuntos en tiempo real, ampliando así la capacidad de respuesta del módulo.

La biblioteca VoiceRecognitionV3 incluye funciones avanzadas que permiten controlar las entradas y salidas adicionales en el módulo VR3, ampliando su funcionalidad más allá del reconocimiento de voz. Puedes controlar dispositivos adicionales mediante los pines GPIO del módulo. Te animamos a explorar la documentación de la biblioteca para aprovechar todo el potencial del módulo en tus proyectos.

Conclusión

En este tutorial, has aprendido a usar el módulo de reconocimiento de voz VR3 con Arduino, desde la conexión y programación, hasta el entrenamiento de comandos de voz para controlar un LED. Este conocimiento puede expandirse para controlar otros dispositivos como motores o servos, y para explorar el uso de diferentes comandos de voz. Te animamos a experimentar y explorar las posibilidades que ofrece la interactividad del reconocimiento de voz en tus proyectos de Arduino.

 

Productos Relacionados

Ver artículo

ArduinoMicrófono

Deja un comentario