Arduino Tutorial: So verwenden Sie eine RGB-LED

category-teaser-arduino59c1138db6d65

In diesem Arduino-Tutorial erfahren Sie, was RGB-LEDs sind und wie man diese mit einem Arduino-Board verwendet.

 

Was ist eine RGB-LED?

LEDs sind kleine, leistungsstarke Leuchten, die in vielen verschiedenen Anwendungen zum Einsatz kommen.

Eine RGB-LED kann verschiedene Farben ausgeben, indem sie die 3 Grundfarben Rot, Grün und Blau mischt. Sie besteht also tatsächlich aus 3 separaten LEDs, Rot, Grün und Blau, die in einem einzigen Gehäuse untergebracht sind. Deshalb gibt es 4 Leitungen, eine Leitung für jede der 3 Farben und eine gemeinsame Kathode oder Anode, abhängig vom RGB-LED-Typ.

In diesem Tutorial wird eine Kathode verwendet.

 

Schaltplan

Die Kathode wird an Masse angeschlossen und die 3 Anoden werden über 220 Ohm Widerstände mit 3 digitalen Pins auf dem Arduino Board verbunden, die ein PWM-Signal liefern können. 

arduin-rgb-led-1

 

 

Wir verwenden PWM zum Simulieren des Analogausgangs, der den LEDs unterschiedliche Spannungspegel liefert, damit wir die gewünschten Farben erhalten können.

 

 

arduin-rgb-led-2

 

 

Quellcode

Im Arduino-Sketch werden die Pins Nummer 7, 6 und 5 genutzt und redPin, greenPin und bluePin genannt. Im Setup-Bereich müssen diese als Ausgänge definiert werden. Im Sketcht gibt es die Funktion setColor (), die drei verschiedene Argumente benötigt: redValue, greenValue und blueValue. Diese Argumente stehen für die Helligkeit der LEDs oder das Tastverhältnis des PWM-Signals, das mit der Funktion analogWrite () erzeugt wird. Diese Werte können zwischen 0 und 255 liegen. Dies entspricht einem Tastverhältnis von 100% des PWM-Signals oder der maximalen LED-Helligkeit.

 

Arduino LED Code:

int redPin= 7;
int greenPin = 6;
int bluePin = 5;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
setColor(255, 0, 0); // Red Color
delay(1000);
setColor(0, 255, 0); // Green Color
delay(1000);
setColor(0, 0, 255); // Blue Color
delay(1000);
setColor(255, 255, 255); // White Color
delay(1000);
setColor(170, 0, 255); // Purple Color
delay(1000);
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}

 

In der Schleifenfunktion müssen Anpassungen vorgenommen werden, dass sich die Farbe der LED jede Sekunde ändert. Um rotes Licht auf die LED zu bekommen, rufen wir die Funktion setColor () auf und setzen den Wert 255 für das Argument redValue und 0 für die beiden anderen. Entsprechend können wir die beiden anderen Grundfarben Grün und Blau erhalten. Um andere Farben zu erhalten, müssen wir die Argumentwerte miteinander mischen. Wenn Sie beispielsweise alle 3 LEDs auf maximale Helligkeit einstellen, erhalten Sie die Farbe Weiß und eine violette Farbe, wenn Sie die folgenden Werte für die Argumente festlegen: 170 redValue, 0 greenValue und 255 blueValue. 

15.05.2018 00:00 |

Passende Artikel

  • Arduino Mega 2560 R3

    Bei dem Arduino Mega 2560 R3 handelt es sich um ein Mikrocontroller-Board, das auf dem ATmega2560 basiert. Das Board ist unter anderem mit 54 digitalen Input/Output Pins ausgestattet, ebenso wie mit 16 analogen Inputs, 4 UARTs und einem 16 MHz Quarz Oszillator. Darüber hinaus verfügt es über einen ICSP Header, Reset-Button sowie eine USB-Verbindung und Strombuchse. Damit ist das Arduino Mega 2560 mit allem ausgerüstet, was...

    39,95 €*

    Nettopreis: 33,57 €
    Umsatzsteuer: 6,38 €
    * inkl. MwSt. zzgl. Versand
  • Diffuse RGB-LED mit gemeinsamer Kathode

    Diese RGB-LED hat vier Pins von denen die gemeinsame Kathode der längste Pin ist. Die drei kurzen Pins stehen für die Farben. Verwenden Sie diese eine LED für drei Farben (RGB) oder nutzen Sie die Pulsweitenmodulierung und erhalten Sie gemischte Farben! Diese LEDs sind diffus, so dass sie dunkler erscheinen, aber einen größeren Betrachtungswinkel bieten als die Standard-LEDs. Eigenschaften: Durchlassspannung (RGB): (2,0, 3,2, 3,2) V...

    2,38 €*

    Nettopreis: 2,00 €
    Umsatzsteuer: 0,38 €
    * inkl. MwSt. zzgl. Versand
  • Breadboard 830 (630/200)

    Breadboard 830 (630/200) 630 Kontakt-Terminal 200 Verteiler-Terminal Selbstklebend Abmessung: 66x174x8,5mm

    4,50 €*

    Nettopreis: 3,78 €
    Umsatzsteuer: 0,72 €
    * inkl. MwSt. zzgl. Versand
  • M/M 200mm Jumper Wires (40 Stück)

    Specifications: M/M Jumper Wires Length: 200 mm Quantity : 40 pcs Weight : 28g

    3,57 €*

    Nettopreis: 3,00 €
    Umsatzsteuer: 0,57 €
    * inkl. MwSt. zzgl. Versand
  • 1/4 Watt Kohleschichtwiderstand (220 Ohm, 5%, 25 Stück)

    Diese Widerstände besitzen folgende Eigenschaften: Typ: Kohleschichtwiderstand, Durchgangsloch-Axial-Typ Widerstand: 220 Ω Nennleistung: 0,25 Watt Spannung: 300 V (max.) Toleranz: 5% Dokumente: Datenblatt

    0,80 €*

    Nettopreis: 0,67 €
    Umsatzsteuer: 0,13 €
    * inkl. MwSt. zzgl. Versand
  • USB Kabel 2.0 A-Stecker auf B-Stecker 2m

    USB 2.0-Stecker (Typ A) > USB 2.0-Stecker (Typ B) Features: passend für viele Peripheriegeräte wie Drucker oder Scanner Hi-Speed Datenübertragungen bis 480 Mbit/s UL-E258105 Style 2725 Technische Daten: Anschluss, Typ: USB 2.0-Stecker (Typ A) Anschluss 2, Typ: USB 2.0-Stecker (Typ B) Kabeltyp: Rundkabel Innenleiter, Material: CU (Kupfer) Kabellänge: 2 m Anzahl Schirmungen: 2 x max. Übertragungsrate: 0,48...

    1,79 €*

    Nettopreis: 1,50 €
    Umsatzsteuer: 0,29 €
    * inkl. MwSt. zzgl. Versand