Arduino Nano ESP32 - RGB-LED

Dieses Tutorial beschreibt, wie man eine RGB-LED mit dem Arduino Nano ESP32 steuert, um jede Farbe zu erzeugen.

Erforderliche Hardware

1×Arduino Nano ESP32
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×RGB LED
1×(Alternativ) RGB-LED-Modul
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

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

Die RGB-LED kann durch Mischen der drei Grundfarben Rot, Grün und Blau alle Farben erzeugen. Eine einzelne RGB-LED besteht aus drei LEDs: Rot, Grün und Blau. Diese drei LEDs sind in einem einzigen Gehäuse zusammengefasst, sodass sie wie eine einzelne LED aussehen.

RGB-LED-Pinbelegung

RGB-LED verfügt über vier Pins:

  • R (rot) Pin: dient zur Steuerung des roten Farbelements
  • G (grün) Pin: dient zur Steuerung des grünen Farbelements
  • B (blau) Pin: dient zur Steuerung des blauen Farbelements
  • Gemeinsamer (Kathoden-) Pin: Verbinden Sie diesen Pin mit GND (0 V)
RGB-LED-Pinbelegung

Um eine RGB-LED an den ESP32 anzuschließen, müssen wir Vorwiderstände zur Strombegrenzung hinzufügen. Das kann die Verkabelung verkomplizieren. Glücklicherweise können wir ein RGB-LED-Modul verwenden, das bereits mit vorgefertigten Strombegrenzungswiderständen ausgestattet ist.

RGB-LED-Modul enthält außerdem vier Pins:

  • Gemeinsamer (Kathoden-)Pin: muss mit GND (0 V) verbunden werden
  • R (rot): Pin wird verwendet, um Rot zu steuern
  • G (grün): Pin wird verwendet, um Grün zu steuern
  • B (blau): Pin wird verwendet, um Blau zu steuern
Pinbelegung des RGB-LED-Moduls

※ Notiz:

Laut dem gemeinsamen Pin gibt es zwei Arten von LEDs: gemeinsame Anode und gemeinsame Kathode. Dieses Tutorial verwendet eine LED mit gemeinsamer Kathode.

Wie RGB-LED funktioniert

Im Bereich der Physik ist eine Farbe eine Kombination aus drei Farbelementen: Rot (R), Grün (G) und Blau (B). Der Wertebereich jedes Farbelements reicht von 0 bis 255. Die Kombination der Werte der drei Farbelemente ergibt insgesamt 256 × 256 × 256 Farben.

Wenn wir PWM-Signale an die Pins R, G und B senden, zeigt die RGB-LED eine Farbe an, die dem PWM-Tastverhältnis entspricht. Durch Ändern des Tastverhältnisses der PWM-Signale (von 0 bis 255) kann die RGB-LED jede Farbe darstellen. Die Farbwerte Rot (R), Grün (G) und Blau (B) entsprechen dem PWM-Tastverhältnis an den Pins R, G und B, jeweils.

Verdrahtungsdiagramm zwischen RGB-LED und Arduino Nano ESP32

  • Schaltplan zwischen Arduino Nano ESP32 und RGB-LED
Arduino Nano ESP32 RGB-LED-Schaltplan

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

  • Verdrahtungsdiagramm zwischen Arduino Nano ESP32 und RGB-LED-Modul
Arduino Nano ESP32 RGB-LED-Modul Verdrahtungsdiagramm

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

Wie man eine RGB-LED steuert

Nehmen wir an, dass wir die Farbe #00979D auf einer RGB-LED anzeigen möchten, können wir den folgenden Schritt durchführen:

  • Finden Sie den Farbcode. Tipps:
    • Sie können den gewünschten Farbcode aus dem color picker auswählen
    • Wenn Sie Farbe in einem Bild verwenden möchten, verwenden Sie das Online-Tool Colors From Image
  • Konvertieren Sie den Farbcode in R-, G- und B-Werte mithilfe des Tools von W3Schools. Beachten Sie diese Werte. In diesem Fall: R = 0, G = 151, B = 157
RGB-LED-Farbwähler
  • Definieren Sie Arduino Nano ESP32-Pins, die mit R-, G- und B-Pins verbunden sind. Zum Beispiel:
#define PIN_RED D11 // Der Arduino Nano ESP32-Pin, der mit dem R-Pin verbunden ist #define PIN_GREEN D10 // Der Arduino Nano ESP32-Pin, der mit dem G-Pin verbunden ist #define PIN_BLUE D9 // Der Arduino Nano ESP32-Pin, der mit dem B-Pin verbunden ist
  • Konfigurieren Sie diese Arduino Nano ESP32-Pins auf den Ausgangsmodus
pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);
  • Steuere die LED so, dass sie diese Farbe ausstrahlt (#00979D → R = 0, G = 151, B = 157)
analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 151); analogWrite(PIN_BLUE, 157);

Arduino Nano ESP32 - RGB-LED-Beispielcode

Der folgende Code ändert die Farbe der LED in der folgenden Farbreihenfolge.

  • #00C9CC (R = 0, G = 201, B = 204)
  • #F7788A (R = 247, G = 120, B = 138)
  • #34A853 (R = 52, G = 168, B = 83)
/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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-nano-esp32/arduino-nano-esp32-led-rgb */ #define PIN_RED D11 // Der Arduino Nano ESP32-Pin, der mit dem R-Pin verbunden ist #define PIN_GREEN D10 // Der Arduino Nano ESP32-Pin, der mit dem G-Pin verbunden ist #define PIN_BLUE D9 // Der Arduino Nano ESP32-Pin, der mit dem B-Pin verbunden ist void setup() { pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { // Farbcode #00C9CC (R = 0, G = 201, B = 204) analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 201); analogWrite(PIN_BLUE, 204); delay(1000); // Die Farbe 1 Sekunde lang beibehalten // Farbcode #F7788A (R = 247, G = 120, B = 138) analogWrite(PIN_RED, 247); analogWrite(PIN_GREEN, 120); analogWrite(PIN_BLUE, 138); delay(1000); // Die Farbe 1 Sekunde lang beibehalten // Farbcode #34A853 (R = 52, G = 168, B = 83) analogWrite(PIN_RED, 52); analogWrite(PIN_GREEN, 168); analogWrite(PIN_BLUE, 83); delay(1000); // Die Farbe 1 Sekunde lang beibehalten }

Wenn wir viele Farben verwenden, könnten wir den Code verkürzen, indem wir eine Funktion erstellen:

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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-nano-esp32/arduino-nano-esp32-led-rgb */ #define PIN_RED D11 // Der Arduino Nano ESP32-Pin, der mit dem R-Pin verbunden ist #define PIN_GREEN D10 // Der Arduino Nano ESP32-Pin, der mit dem G-Pin verbunden ist #define PIN_BLUE D9 // Der Arduino Nano ESP32-Pin, der mit dem B-Pin verbunden ist void setup() { pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { // Farbcode #00C9CC (R = 0, G = 201, B = 204) setColor(0, 201, 204); delay(1000); // Die Farbe 1 Sekunde lang beibehalten // Farbcode #F7788A (R = 247, G = 120, B = 138) setColor(247, 120, 138); delay(1000); // Die Farbe 1 Sekunde lang beibehalten // Farbcode #34A853 (R = 52, G = 168, B = 83) setColor(52, 168, 83); delay(1000); // Die Farbe 1 Sekunde lang beibehalten } void setColor(int R, int G, int B) { analogWrite(PIN_RED, R); analogWrite(PIN_GREEN, G); analogWrite(PIN_BLUE, B); }

※ 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!