Neopixel sind individuell ansteuerbare RGB(W)-LEDs von Adafruit, die in unterschiedlichen Ausführungen erhältlich sind: einzeln*, als Strip*, als Ring* oder auch als Matrix*. Trotz der sehr kompakten Bauform, verfügt jede LED bereits über einen integrierten Controller. Die Ansteuerung erfolgt über eine einzige Leitung, sodass jeder Neopixel neben 5 V und GND noch einen Anschluss für Data-Input (DI) hat. Um über eine Steuerleitung mehrere Neopixel adressieren zu können, werden diese einfach in einer Kaskade miteinander verbunden. Jeder Neopixel verfügt daher zumindest über einen Ausgangsanschluss Data-Output (DO), oft auch über durchgeschleifte 5 V und GND.
Teile und Aufbau
Um Neopixel an einem Arduino zu betreiben, benötigt es nicht viel. Zunächst natürlich einen Arduino* oder ein kompatibles Board. Mindestens einen, besser mehrere, Neopixel und ein 5 Volt Netzteil* mit ausreichender Leistung. Wieviel ausreichend ist, erfährst du weiter unten.
Adafruit empfiehlt im Neopixel Überguide noch den zusätzlichen Einbau eines Widerstandes* und eines Kondensators*, wie oben abgebildet. Der 470 Ω Widerstand schützt den ersten angeschlossenen Neopixel vor Spannungsspitzen auf der Datenleitung. Der 1000 µF Kondensator hängt zwischen 5 V und GND und soll den Aufbau vor Schäden durch einen zu hohen Einschaltstrom bewahren.
Neopixel Library
Zur Programmierung des Arduino sollte auf deinem Rechner bereits die Arduino IDE installiert sein. Wenn nicht, kannst du sie von der Arduino Website herunterladen.
Damit das Programm die LEDs später auch ansteuern kann, wird noch die passende Neopixel Library benötigt. Diese kannst du über den Bibliotheksverwalter nachinstallieren.
Gib dort als Suchbegriff Neopixel ein und wähle dann die Adafruit NeoPixel Library zum Installieren aus.
Funktionstest
Unter Datei → Beispiele → Adafruit NeoPixel befinden sich bereits einige Beispiel-Sketches, mit denen du einen Funktionstest deines Aufbaus durchführen kannst. Je nachdem, ob du einen Neopixel-Stripe oder einen -Ring verwendest, kannst du z.B. strandtest oder strandtest_wheel auf deinen Arduino laden.
Prüfe, ob der von dir verwendete Pin am Arduino mit dem im Programm angegebenen übereinstimmt.
#define PIN 6
Außerdem muss das Programm wissen, wieviele Neopixel du in deiner Schaltung verwendest. Die entsprechende Anzahl musst du an dieser Stelle im Code eintragen.
Adafruit_NeoPixel strip = Adafruit_NeoPixel(12, PIN, NEO_GRB + NEO_KHZ800);
Wenn alles geklappt hat, sollten deine Neopixel unterschiedliche Farb-Animationen durchlaufen und du kannst deiner eigenen Kreativität jetzt freien Lauf lassen.
Stromverbrauch
Noch ein paar abschließende Worte zum Stromverbrauch von Neopixeln und der Dimensionierung des Netzteils.
Bei voller Helligkeit und weißem Licht (Rot + Grün + Blau) zieht ein Neopixel ca. 60 mA. Multipliziert mit der Anzahl der verwendeten Neopixel, ergibt das die maximale Stromaufnahme Deines Aufbaus. Dies ist jedoch ein eher unübliches Szenario und je nach Anwendungszweck kann es sein, dass deutlich weniger Strom benötigt wird. Als groben Daumenwert kann man von ca. 1/3 des Maximums, also 20 mA, ausgehen.
Beispiel: Unter Volllast → 20 Neopixel * 60 mA = 1200 mA = 1,2 A Mittelwert → 20 Neopixel * 20 mA = 400 mA = 0,4 A
Um auf Nummer sicher zu gehen, solltest du bei deinem Netzteil eine gewisse Sicherheitsreserve einplanen und die Werte sollten somit über den Verbrauchswerten deines Aufbaus liegen.