Acerca de este proyecto
Mi proyecto trata sobre el control de electrodomésticos con el Asistente de Google y Bluetooth. Decidí hacer este proyecto ya que cuando estaba buscando en la web sobre proyectos de domótica controlados por voz, encontré que la mayoría de los proyectos estaban basados en WiFi. Recopilé información sobre cómo Google Home y Amazon Echo controlan los electrodomésticos, me sorprendió mucho saber cómo ha evolucionado la tecnología. Después de recopilar información sobre la automatización del hogar basada en WiFi, comencé a recopilar información sobre la automatización del hogar basada en Bluetooth. Mientras buscaba información en la web, de repente se me ocurrió un pensamiento. La idea era "por qué, en el caso de la domótica Bluetooth, el usuario necesita hacer clic en el botón de la aplicación cada vez que dice un comando". Sé que el botón actuaba como un disparador para activar Google Speech Recognizer y Google Text-to-Speech. Así que me decidí a construir un proyecto en el que el usuario no tenga que presionar el botón en absoluto y todo se automatizará. Más tarde, cuando comencé a trabajar en el proyecto, supe que Google Home es capaz de conectarse a altavoces Bluetooth para reproducir música, pero no puede conectarse a electrodomésticos basados en Bluetooth. Entonces, para eliminar el botón en la aplicación de Android, utilicé el Asistente de Google ('OK Google'), un interruptor de activación activado por voz, para activar la aplicación y Google Speech Recognizer y Google Text-to-Speech.
Mire este video para saber cómo lo hice:
Diagrama de bloques:
Diagrama de circuito: Código
- Código para dispositivos Bluetooth controlados por voz con "OK GOOGLE"
Código para dispositivos Bluetooth controlados por voz con 'OK GOOGLE' Arduino
Dispositivos Bluetooth controlados por voz con 'OK GOOGLE' String voice; #define FAN 10 # define TUBELIGHT 9 # define BULB 8void setup () {// ponga su código de configuración aquí, para que se ejecute una vez:Serial.begin (9600); pinMode (VENTILADOR, SALIDA); pinMode (LUZ DE TUBO, SALIDA); pinMode (BOMBILLA, SALIDA); analogWrite (TUBELIGHT, 255); // Dado que el LED debe estar apagado al principio, analogWrite (FAN, 255); digitalWrite (BULB, HIGH);} void loop () {while (Serial.available ()) // Verifica si hay un byte disponible para leer {delay (10); // Retraso agregado para hacer algo estable char c =Serial.read (); // Realizar una lectura en serie if (c =='#') {break;} // Salir del bucle cuando se detecta el # después de la palabra voice + =c; // Abreviatura de voz =voz + c} if (voice.length ()> 0) {Serial.println (voice); // ---------- Control de varios pines / LED ---------- // if (voice =="tubelight") // {analogWrite (TUBELIGHT, 0); analogWrite (VENTILADOR, 255); escritura digital (BOMBILLA, ALTA); } else if (voz =="verde") // {analogWrite (TUBELIGHT, 255); analogWrite (VENTILADOR, 255); escritura digital (BOMBILLA, ALTA); } else if (voice =="fan") // {analogWrite (TUBELIGHT, 255); analogWrite (FAN, 0); escritura digital (BOMBILLA, ALTA); } else if (voz =="bombilla") // {analogWrite (TUBELIGHT, 0); analogWrite (VENTILADOR, 255); digitalWrite (BULBO, BAJO); } else if (voice =="go") // {digitalWrite (BULB, HIGH); } else if (voz =="luces") // {analogWrite (TUBELIGHT, 0); analogWrite (FAN, 0); digitalWrite (BULBO, BAJO); } else if (voz =="buenas noches") // {analogWrite (TUBELIGHT, 255); analogWrite (VENTILADOR, 255); escritura digital (BOMBILLA, ALTA); } voz =""; // Restablece la variable después de iniciar}}
Esquemas
diagrama de circuito para dispositivos Bluetooth controlados por voz con 'OK GOOGLE'