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.
Name | hexadezimal | RGB | |
---|---|---|---|
Black | #000000 | 0,0,0 | |
Navy | #000080 | 0,0,128 | |
Blue | #0000FF | 0,0,255 | |
Green | #008000 | 0,128,0 | |
Teal | #008080 | 0,128,128 | |
Lime | #00FF00 | 0,255,0 | |
Aqua | #00FFFF | 0,255,255 | |
Maroon | #800000 | 128,0,0 | |
Purple | #800080 | 128,0,128 | |
Olive | #808000 | 128,128,0 | |
Gray | #808080 | 128,128,128 | |
Silver | #C0C0C0 | 208,208,208 | |
Red | #FF0000 | 255,0,0 | |
Fuchsia | #FF00FF | 255,0,255 | |
Yellow | #FFFF00 | 255,255,0 | |
White | #FFFFFF | 255,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.