Mehrfarbige LED
Materialien
- RGB-LED
- 1x 470Ω Widerstand
- JST-Adapterkabel
Aufbau
Um die mehrfarbige LED mit der senseBoxMCU zu verbinden stecke die Pins wie in der Abbildung unten. Auf der senseBoxMCU musst du einen der 3 Digitalen Steckplätze verwenden.
Programmierung
Nun kannst du mit dem Schreiben des Programms beginnen, indem du die NeoPixel Bibliothek einbindest. Anschließend solltest du eine Variable erstellen, in der du speicherst, an welchem Pin deine LED angeschlossen wird. Dann erstellst du ein Objekt rgb_led
über das du die LED später steuern kannst.
Definieren der globalen Variablen
#include <Adafruit_NeoPixel.h>
int pin = 1;
Adafruit_NeoPixel rgb_led = Adafruit_NeoPixel(1, pin, NEO_GRB + NEO_KHZ800);
Nun muss die LED in der setup()
-Methode gestartet werden.
setup()-Funktion
void setup() {
rgb_led.begin();
}
Die Farbe der LED lässt sich über den Befehl rgb_led.Color(x, y, z)
bestimmen. Jede der Variablen x
,y
und z
kann man durch eine Zahl zwischen 0 und 255 ersetzen, wobei x
für den Rotanteil, y
für den Grünanteil und z
für den Blauanteil steht. Anschließend muss die definierte Farbe an die LED übergeben werden. Dies geschieht über den Befehl rgb_led.setPixelColor(0, rgb_led.Color(x,y,z))
. Sichtbar wird die gewählte Farbe mit dem Befehl rgb_led.show()
. Im folgenden siehst du ein Beispiel, das die drei Grundfarben Rot, Grün und Blau der Reihe nach leuchten lässt.
loop()-Funktion
void loop() {
// rot
rgb_led.setPixelColor(0,rgb_led.Color(255, 0, 0));
rgb_led.show();
delay(200);
// gruen
rgb_led.setPixelColor(0,rgb_led.Color(0, 255, 0));
rgb_led.show();
delay(200);
// blue
rgb_led.setPixelColor(0,rgb_led.Color(0, 0, 255));
rgb_led.show();
delay(200);
}