Eletrodomésticos Ativados por Voz: Controle Bluetooth com Google Assistant
Componentes e Materiais
- Arduino UNO × 1
- Placa Relé 4 canais × 1
- Módulo Bluetooth HC-05 × 1
- Jumpers para Arduino × 1
Ferramentas Necessárias
- Pistola de cola quente
- Ferro de solda
Aplicativos e Serviços Online
- App personalizado (desenvolvido com MIT App Inventor)
Sobre este Projeto
Meu projeto controla eletrodomésticos com Google Assistant e Bluetooth. Ao pesquisar automação residencial por voz, a maioria usava Wi-Fi. Descobri como Google Home e Amazon Echo controlam dispositivos e fiquei impressionado com a evolução da tecnologia.
Ao investigar automação via Bluetooth, surgiu a dúvida: "Por que no Bluetooth o usuário precisa clicar no botão do app a cada comando?" O botão atuava como gatilho para o Reconhecimento de Fala e Síntese de Texto do Google. Decidi criar um projeto onde o usuário não precise pressionar botão algum — tudo automatizado.
Descobri que o Google Home conecta a speakers Bluetooth para música, mas não conecta a dispositivos de automação via Bluetooth. Para remover o botão no app Android, usei o Google Assistant ("OK Google") como gatilho de voz para ativar o app, o Reconhecimento de Fala e a Síntese de Texto.
Veja o vídeo de como fiz:
Diagrama de Blocos
Diagrama de Circuito
Código
Código para controle Bluetooth de eletrodomésticos com "OK GOOGLE"
String voice;
#define FAN 10
#define TUBELIGHT 9
#define BULB 8
void setup() {
Serial.begin(9600);
pinMode(FAN, OUTPUT);
pinMode(TUBELIGHT, OUTPUT);
pinMode(BULB, OUTPUT);
analogWrite(TUBELIGHT, 255); // LED desligado no início (lógica invertida)
analogWrite(FAN, 255);
digitalWrite(BULB, HIGH);
}
void loop() {
while (Serial.available()) {
delay(10);
char c = Serial.read();
if (c == '#') break; // fim do comando
voice += c;
}
if (voice.length() > 0) {
Serial.println(voice);
// Controle de múltiplos 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 (voice == "fan") {
analogWrite(TUBELIGHT, 255); analogWrite(FAN, 0); digitalWrite(BULB, HIGH);
} else if (voice == "bulb") {
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 (voice == "good night") {
analogWrite(TUBELIGHT, 255); analogWrite(FAN, 255); digitalWrite(BULB, HIGH);
}
voice = ""; // reseta variável
}
}
Esquemático
Diagrama de circuito para controle Bluetooth por voz com "OK GOOGLE"
Processo de manufatura
- Instalando Google Assistant no MATRIX Voice Raspberry Pi – Guia Passo a Passo
- Construa um Robô Raspberry Pi Controlado por Bluetooth com Feedback de Áudio
- Controlar um LED via Bluetooth com Arduino – Guia DIY Simples
- Braço Robótico 6 GDL Controlado por Nunchuk com Arduino Mega
- Jogo da Velha com Arduino, Matriz LED MAX7219 e Caixa de Papelão
- Construa um Voltímetro DIY com Arduino e Display Nokia 5110 – Guia Passo a Passo
- Construa o App Fridgeye com Display Nextion: Guia Passo a Passo
- Criar Tons Musicais com Arduino: Um Guia Passo a Passo
- Controle Remoto de Carro com Arduino Uno e Bluetooth: Guia Passo a Passo
- Construa um Carro Controlado por Bluetooth com Arduino: Guia DIY Completo