- Componentes utilizados:
- Cómo operar el módulo Bluetooth:
- Explicación de trabajo:
- Explicación del circuito:
- Configuración de Raspberry Pi y programa Python:
Hoy estamos construyendo un proyecto muy útil en el que podemos controlar las luces LED usando nuestra voz a través de Smart Phone. En este proyecto, enviaremos comandos de voz desde un teléfono inteligente a Raspberry Pi utilizando el módulo Bluetooth y Raspberry Pi recibirá esa señal transmitida de forma inalámbrica y realizará la tarea respectiva en el hardware. Podemos reemplazar los LED con los electrodomésticos de CA mediante relés y podemos construir un proyecto de automatización del hogar controlado por voz.
Componentes utilizados:
- Raspberry Pi 3 (cualquier modelo funcionará)
- Módulo Bluetooth HC-06
- Tabla de pan
- Resistencias de 100 ohmios (3)
- LED (azul, rojo, verde)
- Cable de conexión
- Fuente de alimentación
- Cable de ethernet
- Teléfono Android
Módulo Bluetooth:
El módulo Bluetooth consta de dos cosas, una es el módulo de interfaz en serie Bluetooth y un adaptador Bluetooth. El módulo de serie Bluetooth se utiliza para convertir el puerto serie a Bluetooth.
Cómo operar el módulo Bluetooth:
Puede utilizar directamente el módulo Bluetooth después de comprarlo en el mercado, porque no es necesario cambiar ninguna configuración del módulo Bluetooth. La velocidad en baudios predeterminada del nuevo módulo Bluetooth es 9600 bps. Solo necesita conectar rx y tx al controlador o convertidor en serie y proporcionar una fuente de alimentación regulada de 5 voltios CC al módulo.
El módulo Bluetooth tiene dos modos, uno es el modo maestro y el segundo es el modo esclavo. El usuario puede configurar cualquier modo usando algunos comandos AT. Incluso el usuario puede establecer la configuración del módulo mediante el comando AT. Aquí se dan algunos usos de los comandos:
En primer lugar, el usuario debe ingresar al modo AT con una tasa de baudios de 38400 bps presionando el botón EN en el módulo Bluetooth o dando un nivel ALTO en el pin EN. Nota: todos los comandos deben terminar con \ r \ n (0x0d y 0x0a) o ENTER KEY desde el teclado.
Después de eso, si envía AT al módulo, el módulo responderá con OK
AT à Comando de prueba
AT + ROLE = 0 à Selección de modo esclavo
AT + ROLE = 1 à Selección de modo maestro
AT + NAME = xyz à Establecer nombre de Bluetooth
AT + PSWD = xyz à Establecer contraseña
AT + UART =
P.ej. AT + UART = 9600,0,0
Descripción de los pines del módulo Bluetooth HC-06:
1. ESTADO à Abierto
2. Pin de recepción Rx à Serial
3. Pin de transmisión Tx à Serial
4. GND à tierra
5. Vcc a + 5 voltios cc
6. TECLA à para entrar en modo AT
Explicación de trabajo:
Trabajar con este proyecto de LED controlados por voz es muy fácil. En este proyecto hemos utilizado tres LED de diferentes colores (Azul, Rojo y Verde). Se utiliza un módulo Bluetooth HC-06 para recibir la salida de comandos de voz en formato de cadena. Raspberry Pi recibe esa cadena entrante del módulo Bluetooth y la compara con la cadena predefinida y realiza la tarea respectiva.
En este proyecto, para proporcionar los comandos de voz a Raspberry Pi desde nuestro teléfono inteligente, hemos utilizado la aplicación AMR Voice en un teléfono Android (Android Meets Robots: Voice Recognition).
Instalación y configuración de la aplicación AMR Voice:
La aplicación AMR Voice se puede descargar e instalar desde Google Play Store. También debe instalar la aplicación Google Voice para este proyecto. La aplicación AMR Voice toma la voz como entrada y la convierte en una cadena de texto utilizando el reconocimiento de voz interno de los móviles Android (aplicación Google Voice) y envía este texto convertido en serie a través de Bluetooth.
Ahora abra la aplicación de voz AMR, vaya al menú de opciones y conéctelo al módulo Bluetooth haciendo clic en 'Conectar robot':
Ahora el usuario puede tocar el símbolo del micrófono en la pantalla del móvil y decir comandos de voz predefinidos para operar los LED:
1. "luz azul encendida" (solo el LED azul encendido)
2. "luz azul apagada" (solo LED azul apagado)
3. "luz roja encendida" (solo LED rojo encendido)
4. "luz roja apagada" (solo LED rojo apagado)
5. "luz verde encendida" (solo LED verde encendido)
6. "luz verde apagada" (solo LED verde apagado)
7. "todas las luces encendidas" (LED azul, rojo y verde encendidos)
8. "todas las luces apagadas" (LED azul, rojo y verde apagados)
9. "parpadear" (todos los LED comienzan a parpadear con un período de tiempo de 100 milisegundos)
Luego, la aplicación de voz AMR graba esta voz y la envía a la aplicación Google Voice para convertirla al formato de cadena de texto. Ahora, esta cadena convertida se envía a Raspberry Pi a través del módulo Bluetooth y Raspberry Pi lee esta cadena desde el puerto UART y la almacena en una cadena en el código. Y luego compárelo con cadenas predefinidas, si se produce alguna coincidencia, entonces Raspberry Pi toma una acción respectiva o realiza una tarea.
Explicación del circuito:
El circuito de este proyecto es muy simple, que contiene placa Raspberry Pi 3, LED y módulo Bluetooth (HC-06). Raspberry Pi lee el módulo Bluetooth y controla los LED en consecuencia. Los LED azul, rojo y verde están conectados en GPIO 17, 27 y 22. Rx y Tx del módulo Bluetooth están conectados directamente a los pines Tx y Rx de Raspberry Pi. Las conexiones restantes se muestran en el diagrama de circuito.
Configuración de Raspberry Pi y programa Python:
Estamos usando el lenguaje Python aquí para el Programa. Antes de codificar, el usuario debe configurar Raspberry Pi. Puede consultar nuestros tutoriales anteriores para Comenzar con Raspberry Pi e Instalar y configurar Raspbian Jessie OS en Pi.
Después de eso, debe ejecutar los siguientes comandos para ejecutar las últimas actualizaciones en Raspbian Jessie:
sudo apt-get update sudo apt-get upgrade
Después de eso, necesitamos instalar la herramienta de desarrollo Raspberry Pi GPIO, se puede instalar mediante los siguientes comandos:
sudo apt-get install python-dev sudo apt-get install python-rpi.gpio
Luego, el usuario debe configurar el puerto serie de Raspberry Pi. Aquí hemos utilizado Raspberry Pi 3 para este proyecto. Por lo tanto, el usuario debe configurar el puerto serie de acuerdo con su versión de Raspberry Pi. Para Raspberry Pi 3, el primer usuario debe deshabilitar el inicio de sesión de la consola a través del puerto serie, a través de la herramienta de configuración de software RPi. Ábralo usando el siguiente comando:
sudo raspi-config
Luego vaya a 'Opciones avanzadas', seleccione 'Serie' y 'Desactivarlo'.
Después de esto, necesitamos deshabilitar el Bluetooth incorporado de Raspberry Pi 3 agregando dtoverlay = pi3-miniuart-bt al final del archivo /boot/config.txt :
sudo nano /boot/config.txt
Después de agregar la línea, reinicie Raspberry Pi emitiendo el comando sudo reboot .
Finalmente, inicie sesión en Raspberry Pi nuevamente y configure el archivo /boot/comline.txt:
sudo nano /boot/comline.txt
Y edite el archivo como se muestra a continuación:
dwc_otg.lpm_enable = 0 consola = tty1 consola = serial0,115200 root = / dev / mmcblk0p2 rootfstype = ext4 ascensor = fecha límite fsck.repair = sí rootwait
¡Ahora puede ejecutar el programa Python que se muestra a continuación en Raspberry Pi y listo! El programa es fácil y se puede entender fácilmente.
Así que aquí hemos completado la construcción de nuestros dispositivos controlados por voz usando Raspberry Pi. Puede mejorarlo y modificarlo aún más para controlar los electrodomésticos de CA agregando relés.