RGB-Modul

../_images/24_rgb_module.png

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.

../_images/24_rgb_module_2.png

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

../_images/24_rgb_module_circuit.png

Programmcode



Code-Erklärung

  1. 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
    
  2. 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);
    }
    
  3. In der Funktion loop() wird die Funktion setColor() mit verschiedenen Parametern aufgerufen, um verschiedene Farben anzuzeigen. Die Funktion delay() 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...
    }
    
  4. Die Funktion setColor() verwendet die Funktion analogWrite(), um die Helligkeit der einzelnen Farbkanäle im RGB-LED-Modul zu steuern. Mit der Funktion analogWrite() 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.

Weitere Projekte