Voice Activated LED-Beleuchtung mit Arduino 5 Schritten (mit Bildern)
Einleitung: Sprach LED-Beleuchtung mit Arduino Activated


Die Idee ist einfach: Ich habe eine Stimme aktivierte LED-Programm möchte die mir erlauben, die Farbe zu ändern, indem die Menge der roten Modifikation, grün, blau und / oder weiß in der Emitter-LED. Zusätzlich zu, dass wollte ich einige voreingestellte Funktionen, bei denen ich dem Licht sagen kann „aufwachen“, „gehen schlafen“ oder die Farben des Regenbogens, um anzuzeigen.
Wie das funktioniert: BitVoicer (Spracherkennungsprogramm) nimmt in einer Spracheingabe, erkennt es und übertragen, obwohl der in einen String. Jedes Mal, nennt es, dass bestimmte Zeichenfolge, das Arduino Programm wird die LED sagen, was zu tun ist.
Für dieses Projekt habe ich:
Schritt 1: Einrichten LED-Emitter und Kühlkörper




Als ich den Sender in der Post bekam, hatte es auf sich keine Drähte. Das Schöne an der LZ4-20MD00 ist, dass die LED auf der Oberseite des MCPCB montiert ist, die uns Drähte auf den LED leichter löten ermöglicht. Es gibt 8-Pads auf der MCPCB- das Datenblatt sagt mir, welches Pad für den Draht ist. Ich hatte tatsächlich einige Herausforderungen, während die Drähte auf der MCPCB Löten, weil die MCPCB die Wärme saugt, ist es schwierig für die Lötkolben machen die Beläge zu erwärmen. Dann habe ich gemerkt, dass die Datenblatt hatte eigentlich Tipps zum Löten. Für diesen speziellen Emitter von LED Engin, musste ich mit einer Heizplatte auf 125-150 ° C, um den Emitter heizen, bevor die Drähte an Löten. Achtung: verschiedene Hersteller haben unterschiedliche Verfahren für das Anbringen wires- sicherstellen, dass Sie den Sender nicht überhitzen.
Nach dem Datenblatt (auf S. 7 und 15.), Das sind die zu jedem Pad verbunden Drähte:
Pad 1: Weiß Anode +
Pad 8: Weiße Kathode -
Pad 7: Red Anode +
Pad 6: Rote Kathode -
Pad 5: Grüne Anode +
Pad 4: Grüne Kathode -
Pad 3: Blau Anode +
Pad 2: Blaue Kathode -
Ich schlage vor, dass Sie farbige Band angeben, welcher Draht für die Farbe ist, so dass Sie später nicht mehr verwirrt tun bekommen.
Da dies eine hohe Leistung LED ist, brauchte ich eine Wärmesenke für den Sender so, dass die LED nicht überhitzt.
Ich habe einen einfachen Kühlkörper aus Aluminium und befestigt sie an dem LED-Emitter-Schrauben.
Schritt 2: Hardware




Draht, der die die Arduino und LEDs entsprechend dem Diagramm oben.
Je nachdem, welche 4-Kanal-LED Sie bekommen, müssen Sie unterschiedliche Leistungswiderstände für jeden Kanal zu erhalten.
Für meinen RGBW 4-Kanal-Emitter, habe ich nach den elektrischen Eigenschaften auf pg. 5 des Datenblattes. dann bestimmt die Leistung Widerständler ich mit Hilfe der Informationen wollte. Ich sah für die Vorwärtsspannung und der typischen Spannungsabfall über jede LED, dann habe ich Ohm Gesetz den Widerstand zu bestimmen, die mit jeder Farbe gehen sollten. Beachten Sie, dass Sie 2W Leistungswiderstände verwenden sollten, da diese High-Power LEDs sind.
Für diesen LED-Strahler, ich bin mit:
- 4 Ohm 2W Leistungswiderstand für Rotkanal
- 2,7 Ohm 2W Leistungswiderstand für weißen Kanal
- 2,7 Ohm 2W Leistungswiderstand für blauen Kanal
- 2,5 Ohm 2W Leistungswiderstand für grünen Kanal
Ich bin die Stromversorgung auch die LED die 5V Quelle aus dem Arduino verwenden.
Schritt 3: Laden Sie Codes und Dateien
Nach dem Herunterladen BitVoicer und Arduino, schrieb ich einige Codes für Arduino und erstellt für BitVoicer eine neue Datei. Ich habe beiden Dateien im Anhang dieses instructable enthält. (Hinweis: Sie werden nicht in der Lage sein, die VSC-Datei zu öffnen, es sei denn Sie haben BitVoicer installiert ist). Um das Programm zu starten, laden Sie den Code zuerst Arduino, und drücken Sie dann die Start-Taste in der BitVoicer Datei.
LED reagiert nicht auf Ihre Stimme? Schauen Sie sich diese Dinge in den Voreinstellungen (unter Datei) für BitVoicer:
- Bits pro Sekunde ist eingestellt auf: 115200
- Audio-Eingang ist Computer Standard-Mikrofon
- stellen Sie den Portnamen auf den gleichen Port, der mit dem Arduino (benannt COM_) verbunden ist,
Wenn immer noch nicht funktioniert, versuchen Sie, diese Dinge in den Voreinstellungen (unter Datei) für BitVoicer:
- senken die Acceptable Konfidenzniveau
- Sicherstellen, dass der Standard-Mikrofon des Computers wird auf externes USB-Mikrofon. Achten Sie auf das Mikrofoneinstellung auf Ihrem Computer
Um den Arduino-Code zu schreiben, öffnete ich zuerst die Datei, die für seine Spracherkennung mit Arduino-Projekt verwendet leandro4b. Von dort habe ich geändert, und fügte einige Codes, so dass die LED den Befehl tut, was ich tun wollte. I hinzugefügt Befehle in BitVoicer, jeden Befehl in eine Zeichenkette in BitVoicer zugeordnet, arbeitet dann in Arduino für jede Saite programmiert.
Da der Code ein wenig lang ist, werde ich nur rechts unten sind einige der Funktionen erklären.
Anfang des Code: Dies ist im Grunde, wo wir „eingerichtet“ alles.
#include // ruft Bit Intonateurs Bibliothek
// Instanziiert die BitVoicerSerial Klasse
BitVoicerSerial bvSerial = BitVoicerSerial ();
// Speichert true, wenn das Audio-Streaming Kalibrierwerkzeug
//läuft
boolean Sample = false;
Byte datatype = 0; // Speichert den Datentyp von getData () abgerufen
int PINR = 6; // set up Stift 6, rot zu sein
int pinW = 10; // set up Stift 10 weiß zu sein
int PING = 11; // einrichten Stift 11, grün zu sein
int PinB = 9; // set up Stift 9 sein rot
int lightLevelR = 0; // Anfangslichtstärke von rot eingerichtet sein 0
int lightLevelW = 0; // eingerichtet Anfangslichtstärke von weiß sein 0
int lightLevelG = 0; // Anfangslichtstärke von Grün eingerichtet sein 0
int lightLevelB = 0; // Anfangslichtstärke von Blau aufgebaut sein 0
int arch = 0; // Das ist eine Variable, die wir festgelegt, dass verschiedene Schleifen bringen wird
lange randNumberR; // erzeugt eine Zufallszahl für Rot (für Meow Funktion)
lange randNumberW; // erzeugt eine Zufallszahl für Weiß (für Meow Funktion)
lange randNumberG; // erzeugt eine Zufallszahl für grün (für Meow Funktion)
lange randNumberB; // erzeugt eine Zufallszahl für blau (für Meow Funktion)
Void setleds (): das ist, wo wir eine Funktion nach der BitVoicer rufen übertragen die Stimme auf den String. Unter Leere setleds, ich habe „aufwachen“, „gehen schlafen“, „turn on / off LED rot“, „Ein- / Ausschalten blaue LED“, „mehr / weniger grün“ usw. Ich habe auch Muster vorgegeben wie " Regenbogen“, "Sonnenuntergang" und "ocean blue".
Unten ist der Code für den Sprachbefehl „blauen“
wenn andere (bvSerial.strData == „BBright“) // wenn BitVoicer „blauen“ erkennt, dann wird diese Funktion ausführen
if (lightLevelB < 255) // if the light level is less than 255, then we will add brightness to blue
lightLevelB + = 85; // wenn die Funktion aufgerufen wird, werden wir 85 zur lightlevel für Blau hinzuzufügen. Sie können alle Stufen von Lichtstärke fügen Sie wollen.
analogWrite (PINR, lightLevelR); // Lichtpegel für rot bleibt konstant
analogWrite (pinW, lightLevelW); // Lichtpegel für Weiß bleibt konstant
analogWrite (PING, lightLevelG); // Lichtpegel für grün bleibt konstant
analogWrite (PinB, lightLevelB); // Lichtpegel für Blau Änderungen geben wir diesen Befehl
arch = 0; // müssen wir den Bogen Variable auf 0 gesetzt, damit es nicht versehentlich etwas in der Schleife aufrufen, die Sie gleich sehen werden
>
>
Für die Muster, werden wir die Funktion des variablen Bogen werden Einstellung = (eine ganze Zahl). Dieser Bogen = (Integer) eine Schleife in der Hohlraumschleife nennen. Dies liegt daran, die Muster wiederholen müssen, bis eine andere Funktion aufgerufen wird.
wenn sonst (bvSerial.strData == „Pomona“) // wenn BitVoicer „pomona“ erkennt, dann wird diese Funktion ausführen
<
arch = 8; // es arch bis 8 eingestellt wird, der Bogen == 8 Schleife in Void Schleife bringen (siehe unten)
>
Void-Schleife: um spezielles Muster zu erstellen (das heißen Regenbogen, Sonnenuntergang, Meer blau), haben wir verschiedene Funktionen unter der Schleife haben.
„Pomona“ ist eine der voreingestellten Funktionen unter Hohlraumschleife. Es zeigt die Farben blau und weiß, bis eine andere Funktion aufgerufen wird.
// pomona
if (arch == 8) // set I die Variable auf 8, so dass
// RGBW-Code für blau
analogWrite (PINR, 85);
analogWrite (pinW, 0);
analogWrite (PING, 49);
analogWrite (PinB, 203);
Verzögerung (1000); // Pausen vor zu Weiß wechselt
// RGBW-Code für Weiß
analogWrite (PINR, 0);
analogWrite (pinW, 255);
analogWrite (PING, 0);
analogWrite (PinB, 0);
Verzögerung (1000); // Pausen vor dem blauen Wechsel zurück
>
vor Leere Setup ():
lange randNumberR; // erzeugt eine Zufallszahl für Rot (für unsere Meow-Funktion)
lange randNumberW; // erzeugt eine Zufallszahl für Weiß (für unsere Meow-Funktion)
lange randNumberG; // erzeugt eine Zufallszahl für grün (für unsere Meow-Funktion)
lange randNumberB; // erzeugt eine Zufallszahl für Blau (für unsere Meow-Funktion)
innen Leere setup ():
Innenhohlraumschleife ():
randNumberR = random (255); // erzeugt Zufallszahl zwischen 0 und 255 für Rot
randNumberW = random (255); // erzeugt Zufallszahl zwischen 0 und 255 für Weiß
randNumberG = random (255); // erzeugt Zufallszahl zwischen 0 und 255 für grün
randNumberB = random (255); // erzeugt Zufallszahl zwischen 0 und 255 für Blau
auch innerhalb Hohlraumschleife ():
if (arch == 9)
<
analogWrite (PINR, randNumberR);
analogWrite (pinW, randNumberW);
analogWrite (PING, randNumberG);
analogWrite (PinB, randNumberB);
Verzögerung (1000); >
in Leerer setleds ():
wenn andere (bvSerial.strData == "Meow") // wenn BitVoicer "miau" erkennt, Bogen wird auf 9
< arch = 9;
>

Ich habe mehrere Funktionen in meinem Code. Ich habe den Grund Blinker aus und Funktion. Ich habe auch eine rot / weiß / grün / blau-Funktion, die ich jede Farbe will ich erstellen können.
In den Bildern oben habe ich die Befehle und was die LED tut, wenn er die Befehle hört. Das blaue Diagramm hat einfache Befehle wie aufwachen, Ein- / Ausschalten, während die rote Grafik Befehle hat, die für Muster aufruft.
Sehen Sie sich die Videos unten für die Demonstration des Projekts.
Schritt 5: Fazit und Next Step

So wie ich das Projekt angegangen war, indem man zuerst mit Arduino genau so, wie Spracherkennung neu zu erstellen, dass leandro4b tat. Wenn das nicht funktioniert, ging ich zurück und habe meine Verkabelung, Arduino und BitVoicer. Es stellte sich heraus, dass ich nicht die BitVoicer korrekt ursprünglich festgelegt haben, weshalb es keine Informationen zu dem Arduino Senden wurde. Weitere Informationen darüber, wie BitVoicer einzurichten, lesen Sie bitte die Anleitung hier.
Nachdem ich sicher, dass mein erster Prototyp arbeitet, habe ich eine vierte Farbe, da die LED war ich mit vier Farben hat. Damit modifiziert I den Code für das Programm Arduino durch einen anderen Stift als Eingang für die vierte LED zu definieren. Von dort und ich und fügte hinzu, einige Codes, so dass die LED den Befehl tut, was ich tun wollte. I hinzugefügt Befehle in BitVoicer, jeden Befehl in eine Zeichenkette in BitVoicer zugeordnet, arbeitet dann in Arduino für jede Saite programmiert. Nachdem ich sicher, dass alles funktioniert hat, wechselte ich alle Drähte und Widerstände und verlötet sie alle auf einen perfboard.
Was ich durch dieses Projekt gelernt habe, ist, dass ich Änderungen vornehmen, muss ich ständig sowohl die Software und die Hardware der Voice Control LED überprüfen. Ich habe das so wäre es einfacher für mich zu beheben, wenn etwas nicht funktioniert.
Die nächsten Schritte für dieses Projekt ist der Strom auf 700 mA zu erhöhen. Gerade jetzt, obwohl die Arduino 5V liefert, ist sie nicht liefern genug Strom für die LED ihre volle Helligkeit zu verwenden. Eine Erhöhung der Helligkeit die vier Farben des RGBW Strahler ermöglichen, noch besser zu mischen. Um den Strom zu erhöhen, werde ich eine externe 5V-Versorgung verwenden, während eine darlington mit dem Strom zu steuern. Wenn möglich, würde Ich mag auch die aktuellen Treiber für meine Projekte zu nutzen versuchen. Wenn ich in der Lage bin, dass einzurichten, würde ich in der Lage sein, genug Spannung und Strom durch noch leistungsfähigere LEDs zu versorgen.
Zusätzlich dazu würde Ich mag weiter das Projekt fertigzustellen, indem ein Mikrofon an die Addierschaltung an die UNO Arduino verbunden und die Lichter mit Funksteuerung steuern kann.