Arduino Mega - RGB LED

Diese Anleitung zeigt Ihnen, wie Sie mit Arduino eine RGB LED steuern. Wir lernen im Detail:

Arduino Mega RGB LED

Benötigte Hardware

1×Arduino Mega
1×USB 2.0 Kabel Typ A/B
1×RGB LED Modul
1×(Alternativ) RGB LED
1×Breadboard (Steckplatine)
1×Jumper Kabel
1×(Empfohlen) Screw Terminal Block Shield for Arduino Uno/Mega
1×(Empfohlen) Breadboard Shield for Arduino Mega
1×(Empfohlen) Enclosure for Arduino Mega

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über RGB LED

Eine RGB LED kann viele Farben erzeugen, indem sie Rot, Grün und Blau mischt. Sie hat drei winzige LEDs: eine rote, eine grüne und eine blaue. Alle befinden sich in einer kleinen Einheit.

Pinout

Eine Rot-Grün-Blau LED hat vier Pins.

  • Verbinden Sie den gemeinsamen Pin mit der Masse (0 Volt).
  • Der R Pin steuert die rote Farbe.
  • Der G Pin steuert die grüne Farbe.
  • Der B Pin steuert die blaue Farbe.
RGB LED Pinout

Um eine RGB LED an einen Arduino Mega anzuschließen, benötigen Sie Widerstände zur Strombegrenzung, was die Schaltung etwas kompliziert machen kann. Sie können jedoch das RGB LED Modul (LINK_MAIN_LED_RGB_MODULE) verwenden, das diese Widerstände bereits eingebaut hat.

Das RGB LED Modul hat ebenfalls vier Pins.

  • Der gemeinsame Pin (Kathode) geht zur Masse (0V).
  • Der R Pin erzeugt die rote Farbe.
  • Der G Pin erzeugt die grüne Farbe.
  • Der B Pin erzeugt die blaue Farbe.
RGB LED Module Pinout

※ Notiz:

In diesem Tutorial verwenden wir eine RGB LED mit gemeinsamer Kathode. Das bedeutet, der gemeinsame Pin ist die Kathode (die negative Seite). Einige RGB LEDs haben den gemeinsamen Pin als Anode (die positive Seite).

Wie es funktioniert

In der Wissenschaft hat Farbe drei Zahlen: Rot (R), Grün (G) und Blau (B). Jede Zahl liegt zwischen 0 und 255.

Es gibt insgesamt 256 mal 256 mal 256 Farben, die durch die Kombination dieser drei Zahlen entstehen.

Wenn wir PWM-Signale (schnelle Ein-/Aus-Impulse) an die roten, grünen und blauen Pins senden, kann die RGB LED jede gewünschte Farbe anzeigen. Die Dauer, die jedes Signal eingeschaltet bleibt (der 0–255 Wert), bestimmt, wie viel rotes, grünes und blaues Licht verwendet wird.

Verdrahtungsdiagramm

  • Verdrahtungsdiagramm für die Verbindung eines Arduino Mega mit einer RGB LED.
Arduino Mega RGB LED wiring diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Verwenden Sie keinen einzelnen Widerstand am gemeinsamen Pin einer RGB LED. Platzieren Sie stattdessen drei Widerstände—einen an jedem Farbpin—wie im obigen Diagramm gezeigt. Die roten, grünen und blauen Teile einer RGB LED sind nicht genau gleich, daher teilen sie den Strom nicht gleichmäßig auf. Dies kann zu ungleichmäßiger Helligkeit führen und könnte die LEDs beschädigen, wenn Sie einen einzelnen Widerstand am gemeinsamen Pin verwenden.

  • Verdrahtungsdiagramm für Arduino Mega mit einem RGB LED Modul
Arduino Mega RGB LED module wiring diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wie man RGB LED steuert

Lassen Sie uns Schritt für Schritt lernen, wie Sie die RGB LED auf jede beliebige Farbe einstellen, zum Beispiel die Farbe #00979D.

  • Wählen Sie die gewünschte Farbe und finden Sie den Farbcode.
    • Sie können einen Farbcode von diesem Farbwähler erhalten: Farbwähler.
    • Wenn Sie eine Farbe aus einem Foto benötigen, verwenden Sie dieses Colors From Image Tool: Colors From Image.
  • Konvertieren Sie den Farbcode zu RGB-Werten mit diesem Tool: diesem Tool. Merken Sie sich diese Werte: R = 0, G = 151, B = 157.
RGB LED color picker
  • Wählen Sie die Arduino Mega Pins aus, die mit den roten, grünen und blauen Pins verbunden werden. Zum Beispiel:
#define PIN_RED 9 // Digitaler Pin am Arduino Mega für die rote LED #define PIN_GREEN 6 // Digitaler Pin am Arduino Mega für die grüne LED #define PIN_BLUE 3 // Digitaler Pin am Arduino Mega für die blaue LED
  • Stellen Sie diese Arduino Mega Pins als Ausgänge ein.
pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);
  • Stellen Sie einen Arduino Pin so ein, dass er ein PWM-Signal ausgibt, das die Farbe #00979D (R = 0, G = 151, B = 157) anzeigt.
analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 151); analogWrite(PIN_BLUE, 157);

Arduino Mega - RGB LED Beispielcode

Der unten gezeigte Code ändert die LED-Farbe in dieser Reihenfolge:

  • Farbcode #00C9CC, blau-grüne Farbe. Rot 0, Grün 201, Blau 204.
  • Farbcode #F7788A, rosa-rote Farbe. Rot 247, Grün 120, Blau 138.
  • Farbcode #34A853, grüne Farbe. Rot 52, Grün 168, Blau 83.
/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-mega/arduino-mega-rgb-led */ #define PIN_RED 9 // Pin used to drive the red channel of the RGB LED #define PIN_GREEN 6 // Pin used to drive the green channel of the RGB LED #define PIN_BLUE 3 // Pin used to drive the blue channel of the RGB LED void setup() { pinMode(PIN_RED, OUTPUT); // Configure red channel as an output pinMode(PIN_GREEN, OUTPUT); // Configure green channel as an output pinMode(PIN_BLUE, OUTPUT); // Configure blue channel as an output } void loop() { // Display teal color (#00C9CC) on the RGB LED (R = 0, G = 201, B = 204) analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 201); analogWrite(PIN_BLUE, 204); delay(1000); // Maintain color for 1 second // Show salmon pink color (#F7788A) on the RGB LED (R = 247, G = 120, B = 138) analogWrite(PIN_RED, 247); analogWrite(PIN_GREEN, 120); analogWrite(PIN_BLUE, 138); delay(1000); // Maintain color for 1 second // Show Google green color (#34A853) on the RGB LED (R = 52, G = 168, B = 83) analogWrite(PIN_RED, 52); analogWrite(PIN_GREEN, 168); analogWrite(PIN_BLUE, 83); delay(1000); // Maintain color for 1 second }

Bei Verwendung vieler Farben können wir den Code durch Erstellen einer Funktion verkürzen:

/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-mega/arduino-mega-rgb-led */ #define PIN_RED 9 // Pin number for the red channel on the LED, mapped to Arduino Mega #define PIN_GREEN 6 // Pin number for the green channel on the LED, mapped to Arduino Mega #define PIN_BLUE 3 // Pin number for the blue channel on the LED, mapped to Arduino Mega void setup() { pinMode(PIN_RED, OUTPUT); // Configure red channel pin as an output pinMode(PIN_GREEN, OUTPUT); // Configure green channel pin as an output pinMode(PIN_BLUE, OUTPUT); // Configure blue channel pin as an output } void loop() { // Choose teal as the active color setColor(0, 201, 204); delay(1000); // Pause for 1 second // Choose soft red as the active color setColor(247, 120, 138); delay(1000); // Pause for 1 second // Choose green as the active color setColor(52, 168, 83); delay(1000); // Pause for 1 second } void setColor(int R, int G, int B) { analogWrite(PIN_RED, R); // Output red intensity value to the red LED pin analogWrite(PIN_GREEN, G); // Output green intensity value to the green LED pin analogWrite(PIN_BLUE, B); // Output blue intensity value to the blue LED pin }

Zusätzliches Wissen

  • So richten Sie eine RGB LED mit gemeinsamer Anode ein:
    • Verbinden Sie den gemeinsamen Pin mit dem 3,3V Pin am Arduino Mega.
    • Setzen Sie in der analogWrite() Funktion die roten, grünen und blauen Werte auf 255 - R, 255 - G und 255 - B.
  • Eine Gruppe von RGB LEDs, die miteinander verbunden sind, bildet einen RGB LED-Streifen. Es gibt zwei Arten von LED-Streifen: adressierbare und nicht-adressierbare. Wir werden Tutorials für beide Arten bereitstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!