Spraakgestuurde huishoudapparaten: Bluetooth-besturing met Google Assistant
Onderdelen en benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino UNO | 1 |
| 4-kanaals relaybord | 1 |
| HC-05 Bluetooth-module | 1 |
| Jumperdraadjes | 1 set |
Benodigde tools
- Lijmpistool
- Solderbout
Apps en online diensten
- Android-app (gemaakt met MIT App Inventor / "pro")
Over dit project
Dit project stuurt huishoudapparaten via spraakcommando's met Google Assistant ("OK Google") en Bluetooth. In tegenstelling tot veel WiFi-oplossingen, werkt dit lokaal via Bluetooth. De gebruiker hoeft geen knop in de app te drukken; "OK Google" activeert de spraakherkenning automatisch.
Google Home kan wel Bluetooth-speakers koppelen voor muziek, maar geen Bluetooth-apparaten direct besturen. Daarom werd een custom Android-app gemaakt die via "OK Google" wordt getriggerd, waarna Google Speech Recognizer en Text-to-Speech de commando's verwerken en via Bluetooth naar de Arduino sturen.
Blokdiagram
Schema
Code
De Arduino-sketch luistert naar seriële commando's (via HC-05) en schakelt de relais.
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 uit (common anode?)
analogWrite(FAN, 255);
digitalWrite(BULB, HIGH);
}
void loop() {
while (Serial.available()) {
delay(10);
char c = Serial.read();
if (c == '#') break; // Eindteken
voice += c;
}
if (voice.length() > 0) {
Serial.println(voice);
if (voice == "tubelight") {
analogWrite(TUBELIGHT, 0); // Aan
analogWrite(FAN, 255);
digitalWrite(BULB, HIGH);
}
else if (voice == "green") { // Uit
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 = ""; // Reset
}
}
Schema
Productieproces
- Google Assistant installeren op een MATRIX Voice Raspberry Pi – Stap-voor-stap gids
- Bouw een Bluetooth-gecontroleerde Raspberry Pi Robot met Audio Feedback
- Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
- Arduino-gebaseerde 6-DoF Robotarm Gestoeerd met Wii Nunchuk
- Arduino Boter-Kaas-Eieren met MAX7219 LED Matrix en Kartonnen Behuizing
- Bouw een DIY Voltmeter met Arduino en Nokia 5110 Display – Stap-voor-Stap Handleiding
- De Fridgeye-app bouwen met een Nextion-display: stapsgewijze handleiding
- Maak Muzikale Tonen met Arduino: Stapsgewijze Handleiding
- Arduino Uno & Bluetooth voor afstandsbediening van auto: stap-voor-stap handleiding
- Bouw een Bluetooth-gecontroleerde Arduino Auto: Complete DIY Handleiding
- Bluetooth 8x8 LED-matrix met Scrollende Tekst – Arduino Project