RGB-LED

Die RGB LED sieht wie eine LED mit vier Beinen aus. Es sind aber drei LEDs, die in den Farben rot, grün und blau leuchten. Das längste Beinchen wird an GND angeschlossen.

Durch Mischen der drei Grundfarben kann man alle anderen Farben erhalten.

Die Leuchtkraft einer LED kann man mit analogWrite(pinRot, rot) erhalten, wobei pinRot die Pinnummer und rot eine Zahl zwischen 0 und 255 ist.

 

 NamehexadezimalRGB
 Black#0000000,0,0
 Navy#0000800,0,128
 Blue#0000FF0,0,255
 Green#0080000,128,0
 Teal#0080800,128,128
 Lime#00FF000,255,0
 Aqua#00FFFF0,255,255
 Maroon#800000128,0,0
 Purple#800080128,0,128
 Olive#808000128,128,0
 Gray#808080128,128,128
 Silver#C0C0C0208,208,208
 Red#FF0000255,0,0
 Fuchsia#FF00FF255,0,255
 Yellow#FFFF00255,255,0
 White#FFFFFF255,255,255
  Beispielcode
int pinRot = 3;                             // der Pin für die rote LED
int pinGruen = 5;                           // der Pin für die grüne LED
int pinBlau = 6;                             // der Pin für die blaue LED

void setup() {
pinMode(pinRot, OUTPUT);                     //
pinMode(pinGruen, OUTPUT);                   // Die Pins als Ausgänge definieren
pinMode(pinBlau, OUTPUT);                    //
}
 

void loop() {
setzeLED(255,0,0);                           // gebe Farbe rot aus
delay(1000);
setzeLED(255,100,0);                         // gebe Farbe gelb aus
delay(1000);
setzeLED(0,255,0);                           // gebe Farbe grün aus
delay(1000);
setzeLED(0,255,255);                         // gebe Farbe hellblau aus
delay(1000);
setzeLED(0,0,255);                           // gebe Farbe blau aus
delay(1000);
setzeLED(80,0,80);                           // gebe Farbe violett aus
delay(1000);
}


void setzeLED(int rot, int gruen, int blau)  {
    analogWrite(pinRot, rot);                // Die als Parameter übergebene Werte
    analogWrite(pinGruen, gruen);            // werden als Analogsignale an den Pins
    analogWrite(pinBlau, blau);              // ausgegeben
}

Aufgabe

Informiere dich im Internet über die Pulsweitenmodulation.

  Dimmen einer LED

Eine LED dimmen

int pinRot = 3;                             // der Pin für die rote LED
int pinGruen = 5;                           // der Pin für die grüne LED
int pinBlau = 6;                             // der Pin für die blaue LED

void setup() {
pinMode(pinRot, OUTPUT);                     //
pinMode(pinGruen, OUTPUT);                   // Die Pins als Ausgänge definieren
pinMode(pinBlau, OUTPUT);                    //
}
 

void loop() {
   for(int wert = 0 ; wert <= 255; wert = wert+5) {
    setzeLED(wert,0,0);
    delay(100); 
   }
}


void setzeLED(int rot, int gruen, int blau)  {
    analogWrite(pinRot, rot);                // Die als Parameter übergebene Werte
    analogWrite(pinGruen, gruen);            // werden als Analogsignale an den Pins
    analogWrite(pinBlau, blau);              // ausgegeben
}

Farbverlauf programmieren

Das folgende Video zeigt, wie man einen Farbverlauf programmieren kann. Leider wird hier andere Hardware verwendet, das Prinzip ist aber genau gleich.