2.2 Buntes Licht¶
Wie wir wissen, kann Licht überlagert werden. Beispielsweise ergibt die Kombination von blauem und grünem Licht ein türkises Licht und die von rotem und grünem Licht ein gelbes Licht. Dies wird als „Additive Farbmischung“ bezeichnet.
Auf Basis dieser Methode können wir durch Mischen der drei Grundfarben nach verschiedenen spezifischen Gewichtungen jedes sichtbare Licht erzeugen. Beispielsweise entsteht Orange aus viel Rot und wenig Grün.
In diesem Kapitel werden wir die Geheimnisse der additiven Farbmischung mit einer RGB-LED erkunden!
Eine RGB-LED entspricht dem Kapseln einer roten, einer grünen und einer blauen LED unter einer Lampe, wobei die drei LEDs einen gemeinsamen Kathodenpin teilen. Da das elektrische Signal für jeden Anodenpin bereitgestellt wird, kann das Licht der entsprechenden Farbe angezeigt werden. Durch Änderung der elektrischen Signalintensität jeder Anode kann sie dazu gebracht werden, verschiedene Farben zu erzeugen.
Benötigte Komponenten
Für dieses Projekt benötigen wir folgende Komponenten.
Es ist definitiv praktisch, ein ganzes Set zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
---|---|---|
3 in 1 Starter Kit |
380+ |
Sie können sie auch separat über die untenstehenden Links kaufen.
KOMPONENTENVORSTELLUNG |
KAUF-LINK |
---|---|
Schaltplan
Die PWM-Pins 11, 10 und 9 steuern die Rot-, Grün- und Blau-Pins der RGB-LED jeweils an und verbinden den gemeinsamen Kathodenpin mit GND. Dadurch kann die RGB-LED durch Überlagerung von Licht auf diesen Pins mit verschiedenen PWM-Werten eine bestimmte Farbe anzeigen.
Verdrahtung
Eine RGB-LED hat 4 Pins: Der längste Pin ist der gemeinsame Kathodenpin, der normalerweise mit GND verbunden ist, der linke Pin neben dem längsten Pin ist Rot, und die 2 Pins rechts sind Grün und Blau.
Code
Hier können wir unsere Lieblingsfarbe in Zeichensoftware (wie Paint) auswählen und sie mit der RGB-LED anzeigen.
Bemerkung
Sie können die Datei
2.2.colorful_light.ino
im Pfad3in1-kit\basic_project\2.analogWrite\2.2.colorful_light
öffnen.Oder kopieren Sie diesen Code in die Arduino IDE.
Oder laden Sie den Code über den Arduino Web Editor hoch.
Schreiben Sie den RGB-Wert in color_set()
, dann werden Sie sehen, wie die RGB-LED die gewünschten Farben anzeigt.
Wie funktioniert das?
In diesem Beispiel wird die Funktion, die Werte den drei Pins von RGB zuweist, in einer unabhängigen Unterfunktion color()
verpackt.
void color (unsigned char red, unsigned char green, unsigned char blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
In loop()
dient der RGB-Wert als Eingabeargument, um die Funktion color()
aufzurufen und somit die RGB-LED verschiedene Farben ausstrahlen zu lassen.
void loop()
{
color(255, 0, 0); // rot
delay(1000);
color(0,255, 0); // grün
delay(1000);
color(0, 0, 255); // blau
delay(1000);
}