Arduino Nano - RGB-LED

Dieses Tutorial zeigt dir, wie man den Arduino Nano verwendet, um eine RGB-LED zu steuern. Im Detail werden wir Folgendes lernen:

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×RGB LED
3×220 ohm Resistor
1×(Alternativ) RGB-LED-Modul
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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 jede Farbe erzeugen, indem die drei Primärfarben Rot, Grün und Blau kombiniert werden. Sie besteht aus drei verschiedenen LEDs (rot, grün oder blau), die in einem einzigen Gehäuse untergebracht sind.

Pinbelegung der RGB-LED

Eine RGB-LED hat vier Pins:

  • Gemeinsamer (Kathoden-) Pin: muss mit GND (0 V) verbunden werden
  • R (rot): Pin dient der Einstellung von Rot
  • G (grün): Pin dient der Einstellung von Grün
  • B (blau): Pin dient der Einstellung von Blau
RGB-LED-Pinbelegung

Um eine RGB-LED mit dem Arduino Nano zum Laufen zu bringen, benötigen wir einige Widerstände zur Strombegrenzung. Es kann ganz schön knifflig werden, alles zu verdrahten. Aber zum Glück können wir einfach dieses coole RGB-LED-Modul verwenden, das diese Widerstände bereits eingebaut hat!

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

  • Gemeinsamer (Kathoden-)Pin: muss mit GND (0V) 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
RGB-LED-Modul Pinbelegung

※ Notiz:

Der gemeinsame Pin der RGB-LED kann je nach Typ der RGB-LED eine Kathode oder eine Anode sein. In diesem Tutorial wird eine gemeinsame Kathode verwendet.

Wie es funktioniert

In der Physik besteht eine Farbe aus drei Komponenten: Rot (R), Grün (G) und Blau (B). Der Wertebereich jedes Farbwerts reicht von 0 bis 255. Die Kombination dreier Werte bildet insgesamt 256 × 256 × 256 Farben.

Wir können den Arduino Nano verwenden, um jede gewünschte Farbe zu erzeugen, indem wir PWM-Signale (mit einem Tastverhältnis von 0 bis 255) an die R-, G- und B-Pins einer RGB-LED liefern.

Das Pulsbreitenverhältnis der an die Pins R, G und B gesendeten PWM-Signale ist jeweils proportional zu den Rot-, Grün- und Blauwerten (R, G, B).

Verdrahtungsdiagramm

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

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

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

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

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Wie man eine RGB-LED steuert

Lernen wir, wie man die GRB-LED auf jede Farbe einstellt, zum Beispiel #00979D, Schritt-für-Schritt:

  • Zuerst bestimmen Sie, welche Farbe Sie anzeigen möchten, und holen Sie sich deren Farbcode. Tipps:
    • Den gewünschten Farbcode können Sie aus dem Farbwähler entnehmen
    • Wenn Sie eine Farbe aus einem Bild verwenden möchten, nutzen Sie das Online-Tool Colors From Image
  • Dann wandeln Sie den Farbcode in RGB-Werte um, mit dem Tool von W3Schools. Notieren Sie diese Werte. In diesem Fall: R = 0, G = 151, B = 157
RGB-LED-Farbwähler
  • Geben Sie die Pins des Arduino Nano an, die mit den R-, G- und B-Pins verbunden sind. Zum Beispiel:
const int PIN_RED = 11; const int PIN_GREEN = 10; const int PIN_BLUE = 9;
  • Setze die Pins des Arduino Nano in den Ausgangsmodus:
pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);
  • Steuere die LED so, dass sie die Farbe #00979D ausgibt, die aus Rot = 0, Grün = 151 und Blau = 157 besteht.
analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 151); analogWrite(PIN_BLUE, 157);

Arduino Nano - RGB-LED-Beispielcode

Der unten stehende Arduino-Nano-Code ändert die Farbe der LED in einer bestimmten Reihenfolge:

  • #00C9CC (Rot = 0, Grün = 201, Blau = 204)
  • #F7788A (Rot = 247, Grün = 120, Blau = 138)
  • #34A853 (Rot = 52, Grün = 168, Blau = 83)
/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-led-rgb */ const int PIN_RED = 11; const int PIN_GREEN = 10; const int PIN_BLUE = 9; 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); // halte die Farbe eine Sekunde lang // Farbcode #F7788A (R = 247, G = 120, B = 138) analogWrite(PIN_RED, 247); analogWrite(PIN_GREEN, 120); analogWrite(PIN_BLUE, 138); delay(1000); // halte die Farbe eine Sekunde lang // Farbcode #34A853 (R = 52, G = 168, B = 83) analogWrite(PIN_RED, 52); analogWrite(PIN_GREEN, 168); analogWrite(PIN_BLUE, 83); delay(1000); // halte die Farbe eine Sekunde lang }

Beim Verwenden vieler Farben könnten wir den Arduino-Nano-Code verkürzen, indem wir eine Funktion erstellen:

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-led-rgb */ const int PIN_RED = 11; const int PIN_GREEN = 10; const int PIN_BLUE = 9; 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); // halte die Farbe 1 Sekunde lang // Farbcode #F7788A (R = 247, G = 120, B = 138) setColor(247, 120, 138); delay(1000); // halte die Farbe 1 Sekunde lang // Farbcode #34A853 (R = 52, G = 168, B = 83) setColor(52, 168, 83); delay(1000); // halte die Farbe 1 Sekunde lang } void setColor(int R, int G, int B) { analogWrite(PIN_RED, R); analogWrite(PIN_GREEN, G); analogWrite(PIN_BLUE, B); }

Zusätzliches Wissen

Für eine RGB-LED mit gemeinsamer Anode müssen Sie:

  • Verbinde den gemeinsamen Pin mit 3,3 V des Arduino Nano.
  • Verwende die Funktion analogWrite() mit R-, G- und B-Werten, die jeweils 255 minus dem gewünschten Wert für jede Farbe entsprechen.

Eine Reihe von RGB-LEDs, die miteinander verbunden sind, bildet den RGB-LED-Streifen. LED-Streifen können in adressierbare LED-Streifen und nicht adressierbare LED-Streifen unterteilt werden. Wir werden Tutorials für beide Arten von LED-Streifen erstellen.

※ Notiz:

Verwenden Sie keinen einzelnen Widerstand am gemeinsamen Anschluss einer RGB-LED, sondern drei Widerstände an den anderen Pins.

Der Grund dafür ist, dass es theoretisch zwar akzeptabel ist, einen einzigen Widerstand am gemeinsamen Anschluss zu verwenden, in der Praxis jedoch nicht der Fall ist.

Die LEDs in einem RGB-Paket sind nicht identisch, was bedeutet, dass die Widerstände für jede LED unterschiedlich sein werden.

Dies führt zu einer ungleichen Stromverteilung, was zu unterschiedlichen Helligkeitsstufen führt und möglicherweise eine oder mehrere LEDs beschädigen kann, und letztendlich auch die anderen LEDs.

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