Heimbeleuchtung per Sprachsteuerung mit Arduino und 1Sheeld
Komponenten und Zubehör
| Arduino UNO | × | 1 |
| 1Sheeld | × | 1 |
| LED (generic) | × | 3 |
Projektbeschreibung
Die Projektidee war der Nachweis, dass sich ein Heimbeleuchtungssystem rein per Sprachbefehle steuern lässt. Die 3 LEDs im Projekt repräsentieren beispielhaft verschiedene Systeme im Haus.

Benötigt wird:
- Arduino Uno
- 1Sheeld
- 3 LEDs (verschiedene Farben)
Schaltung wie unten gezeigt aufbauen:

1Sheeld App öffnen, mit 1Sheeld verbinden, dann "Voice Recognition" Shield öffnen:

"Tap to speak" drücken und "play" sagen → alle 3 LEDs schalten ein:

Mit "stop" alle ausschalten:

Einzeln steuerbar:
- "blue" → nur blaue LED:

- "yellow" → nur gelbe LED:

- "green" → nur grüne LED:

Code
Arduino Sketch
#define CUSTOM_SETTINGS
#define INCLUDE_VOICE_RECOGNIZER_SHIELD
#define INCLUDE_MUSIC_PLAYER_SHIELD
#define INCLUDE_TERMINAL_SHIELD
/* 1Sheeld Library einbinden */
#include <OneSheeld.h>
int Bledpin = 13;
int Yledpin = 12;
int Gledpin = 11;
/* Vom Benutzer definierte Sprachbefehle */
const char playCommand[] = "play";
const char pauseCommand[] = "stop";
const char stopCommand[] = "yellow";
const char nextCommand[] = "green";
const char BlueCommand[] = "blue";
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
/* Kommunikation starten */
OneSheeld.begin();
/* Fehlerbehandlung */
VoiceRecognition.setOnError(error);
VoiceRecognition.start();
}
void loop() {
/* Prüfen ob neuer Befehl empfangen */
if (VoiceRecognition.isNewCommandReceived()) {
/* Play-Befehl vergleichen */
if (!strcmp(playCommand, VoiceRecognition.getLastCommand())) {
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
digitalWrite(11, HIGH);
}
/* Pause/Stop-Befehl */
else if (!strcmp(pauseCommand, VoiceRecognition.getLastCommand())) {
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
}
/* Stop-Befehl (gelb) */
else if (!strcmp(stopCommand, VoiceRecognition.getLastCommand())) {
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
}
/* Next-Befehl (grün) */
else if (!strcmp(nextCommand, VoiceRecognition.getLastCommand())) {
digitalWrite(13, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
}
/* Blue-Befehl */
else if (!strcmp(BlueCommand, VoiceRecognition.getLastCommand())) {
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
digitalWrite(11, LOW);
}
}
}
/* Fehlerprüfungs-Funktion */
void error(byte errorData) {
switch (errorData) {
case NETWORK_TIMEOUT_ERROR: Terminal.println("Network timeout"); break;
case NETWORK_ERROR: Terminal.println("Network Error"); break;
case AUDIO_ERROR: Terminal.println("Audio error"); break;
case SERVER_ERROR: Terminal.println("No Server"); break;
case SPEECH_TIMEOUT_ERROR: Terminal.println("Speech timeout"); break;
case NO_MATCH_ERROR: Terminal.println("No match"); break;
case RECOGNIZER_BUSY_ERROR: Terminal.println("Busy"); break;
}
}
Schaltpläne
circuit.fzz
Herstellungsprozess
- Übergang industrieller Steuerungssysteme auf drahtlose Netze
- Google Assistant auf MATRIX Voice Raspberry Pi installieren – Schritt-für-Schritt-Anleitung
- GoPiGo v2 auf Windows 10 IoT Core für Raspberry Pi 3 erweitern
- Effizienz steigern: Elektrisches Design mit ERP integrieren für Wettbewerbsvorteile
- Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
- Industrielle Steuerungssysteme schützen: Bewährte Strategien & Best Practices
- Erfolgreiche Steuerungssystem-Migration: Expertenstrategien für einen nahtlosen Übergang
- Acht bewährte Schritte zur Diagnose und Behebung Ihres Prozessleitsystems
- Effizienz steigern: Führen Sie noch heute einen umfassenden System-Audit durch