Dispositivos Bluetooth controlados por voz com OK Google
Componentes e suprimentos
| | × | 1 | |
| Placa de retransmissão de 4 canais | | × | 1 | |
| | × | 1 | |
| fios de jumper para arduino | | × | 1 | |
Aplicativos e serviços online
Sobre este projeto
Meu projeto é sobre como controlar eletrodomésticos com Google Assistente e Bluetooth. Decidi fazer este projeto porque quando estava pesquisando na web sobre projetos de automação residencial com controle de voz, descobri que a maioria dos projetos era baseada em WiFi. Reuni informações sobre como o Google Home e o Amazon Echo estão controlando os eletrodomésticos, fiquei realmente surpreso ao saber como a tecnologia evoluiu. Depois de reunir informações sobre automação residencial com base em WiFi, comecei a reunir informações sobre automação residencial com base em Bluetooth. Enquanto procurava informações na web, um pensamento de repente me ocorreu. O pensamento era "por que, no caso da automação residencial com Bluetooth, o usuário precisa sempre clicar no botão do aplicativo para dizer um comando". Eu sei que o botão estava atuando como um gatilho para ativar o Google Speech Recognizer e o Google Text-to-Speech. Então decidi construir um projeto onde o usuário não precisasse apertar o botão e tudo fosse automatizado. Mais tarde, quando comecei a trabalhar no projeto, descobri que o Google Home é capaz de se conectar a alto-falantes Bluetooth para reproduzir música, mas não consegue se conectar a eletrodomésticos baseados em Bluetooth. Então, para remover o botão no aplicativo Android, usei o Google Assistant ('OK Google'), um gatilho ativado por voz, para ativar o aplicativo e o Google Speech Recognizer e o Google Text-to-Speech.
Veja este vídeo para saber como o fiz:
Diagrama de blocos:
Diagrama de circuito:
Código
- Código para aparelhos Bluetooth controlados por voz com 'OK GOOGLE'
Código para aparelhos Bluetooth controlados por voz com 'OK GOOGLE' Arduino
Dispositivos Bluetooth controlados por voz com 'OK GOOGLE' String voice; #define FAN 10 # define TUBELIGHT 9 # define BULB 8void setup () {// coloque seu código de configuração aqui, para ser executado uma vez:Serial.begin (9600); pinMode (FAN, OUTPUT); pinMode (TUBELIGHT, OUTPUT); pinMode (BULB, OUTPUT); analogWrite (TUBELIGHT, 255); // Como o LED deve estar desligado no início analogWrite (FAN, 255); digitalWrite (BULB, HIGH);} void loop () {while (Serial.available ()) // Verifique se há um byte disponível para ler {delay (10); // Atraso adicionado para tornar a coisa estável char c =Serial.read (); // Realiza uma leitura serial if (c =='#') {break;} // Sai do loop quando o # é detectado após a palavra voice + =c; // Abreviação de voice =voice + c} if (voice.length ()> 0) {Serial.println (voz); // ---------- Controle vários pinos / LEDs ---------- // if (voice =="tubelight") // {analogWrite (TUBELIGHT, 0); analogWrite (FAN, 255); digitalWrite (BULB, HIGH); } else if (voice =="green") // {analogWrite (TUBELIGHT, 255); analogWrite (FAN, 255); digitalWrite (BULB, HIGH); } else if (voz =="fan") // {analogWrite (TUBELIGHT, 255); analogWrite (FAN, 0); digitalWrite (BULB, HIGH); } else if (voz =="lâmpada") // {analogWrite (TUBELIGHT, 0); analogWrite (FAN, 255); digitalWrite (BULB, LOW); } else if (voice =="go") // {digitalWrite (BULB, HIGH); } else if (voice =="lights") // {analogWrite (TUBELIGHT, 0); analogWrite (FAN, 0); digitalWrite (BULB, LOW); } else if (voz =="boa noite") // {analogWrite (TUBELIGHT, 255); analogWrite (FAN, 255); digitalWrite (BULB, HIGH); } voz =""; // Redefina a variável após iniciar}}
Esquemas
diagrama de circuito para aparelhos Bluetooth controlados por voz com 'OK GOOGLE'