RGB-Modul¶
Einführung¶
Das RGB-Vollfarb-LED-Modul erzeugt durch die Mischung von rotem, grünem und blauem Licht ein Spektrum an Farben. Jede Farbe wird mittels PWM (Pulsweitenmodulation) eingestellt. Das Modul kann für bunte Lichteffekte verwendet oder zum Erlernen der PWM-Steuerung mit Arduino genutzt werden.
Funktionsprinzip¶
Das RGB-Modul funktioniert mit einer Vollfarb-LED, die über R-, G- und B-Anschlüsse mit einstellbarer PWM-Spannungseingabe verfügt. Die Farben der LED können miteinander kombiniert werden. Zum Beispiel erzeugt die Mischung von blauem und grünem Licht Zyan, die Mischung von rotem und grünem Licht Gelb. Dies wird als „additive Farbmischung“ bezeichnet.
Durch diese Methode können wir die drei Grundfarben in verschiedenen Verhältnissen mischen, um sichtbares Licht jeder gewünschten Farbe zu erzeugen. Beispielsweise kann Orange durch mehr Rot und weniger Grün erzeugt werden. Durch Anpassung der Stärke der Grundfarben (Rot, Blau, Grün) mittels PWM kann eine vollständige Farbmischung erreicht werden.
Anwendungsbeispiele¶
Hardware-Komponenten
Arduino Uno R4 oder R3 Board * 1
RGB-Modul * 1
Jumperkabel
Schaltungsaufbau
Programmcode¶
Code-Erklärung¶
Im ersten Codeabschnitt werden die Pins deklariert und initialisiert, an die die Farbkanäle der RGB-LED angeschlossen sind.
const int rledPin = 9; // pin connected to the red color channel const int gledPin = 10; // pin connected to the green color channel const int bledPin = 11; // pin connected to the blue color channel
Die Funktion
setup()
initialisiert diese Pins als OUTPUT, da wir Signale von diesen Pins zum RGB-LED-Modul senden.void setup() { pinMode(rledPin, OUTPUT); pinMode(gledPin, OUTPUT); pinMode(bledPin, OUTPUT); }
In der Funktion
loop()
wird die FunktionsetColor()
mit verschiedenen Parametern aufgerufen, um verschiedene Farben anzuzeigen. Die Funktiondelay()
wird nach dem Einstellen jeder Farbe verwendet, um für 1000 Millisekunden (oder 1 Sekunde) zu pausieren, bevor zur nächsten Farbe übergegangen wird.void loop() { setColor(255, 0, 0); // Set RGB LED color to red delay(1000); setColor(0, 255, 0); // Set RGB LED color to green delay(1000); // The rest of the color sequence... }
Die Funktion
setColor()
verwendet die FunktionanalogWrite()
, um die Helligkeit der einzelnen Farbkanäle im RGB-LED-Modul zu steuern. Mit der FunktionanalogWrite()
und PWM können verschiedene Spannungsausgänge simuliert werden. Durch Steuerung des PWM-Tastverhältnisses kann die Helligkeit jedes Farbkanals kontrolliert und so die Mischung verschiedener Farben ermöglicht werden.void setColor(int R, int G, int B) { analogWrite(rledPin, R); // Use PWM to control the brightness of the red color channel analogWrite(gledPin, G); // Use PWM to control the brightness of the green color channel analogWrite(bledPin, B); // Use PWM to control the brightness of the blue color channel }
Weitere Ideen¶
Versuchen Sie, andere Farben anzuzeigen.
Integrieren Sie die RGB-LED mit Sensoren und zeigen Sie verschiedene Farben basierend auf dem Sensorwert an.