NeoPixels mit Vixen Lights & Arduino konfigurieren: Schritt-für-Schritt-Anleitung
Komponenten und Zubehör
| Arduino Nano R3 | × | 1 |
| Arduino UNO | × | 1 |
| Pixel-Stripe 60 Pixel/m (WS2812B) | × | 1 |
| Widerstand 470 Ω | × | 1 |
| Netzteil 5 V, 40 A | × | 1 |
| Steckbrett (Breadboard) | × | 1 |
| Dupont-Kabel | × | 1 |
Benötigte Werkzeuge
- Lötkolben
- Lötzinn
Software und Online-Dienste
- Vixen Lights (Version 3.4u2 64 Bit)
- Arduino IDE
Projektbeschreibung
Dieses Tutorial ist auf Deutsch und Englisch verfügbar.
Was ist Vixen Lights?
Vixen Lights ist eine Open-Source-Software für DIY-Lichtsteuerung und -sequenzierung. Die Version 3.x wurde vollständig überarbeitet, um adressierbare „Pixel“-LEDs (z. B. WS2812B) zu unterstützen. Die Software ermöglicht die Erstellung komplexer Lichteffekte, die über einen Arduino an die LED-Streifen gesendet werden.
Was ist ein Pixel?
Ein Pixel besteht aus drei LEDs (Rot, Grün, Blau), deren Intensität individuell gesteuert wird, um beliebige Farben zu erzeugen. WS2812B-Pixel enthalten einen integrierten Controller-Chip, der Datensignale empfängt, das eigene Pixel ansteuert und die Daten an das nächste Pixel weiterleitet. Adressierbare RGB-Streifen lassen sich an drei Drähten erkennen: Spannung (+5 V), Masse (GND) und Daten. Herkömmliche „dumme“ RGB-Streifen haben vier Drähte (gemeinsame Anode/Kathode plus drei Farbkanäle).

Stromversorgung
RGB-Pixel verbrauchen viel Strom. Ein Arduino kann nur wenige Pixel über seinen onboard-Regler versorgen. Für größere Installationen ist ein externes Netzteil zwingend erforderlich. Die Spannung richtet sich nach den verwendeten LEDs (hier 5 V). Jedes Pixel bei voller Weiß-Ausleuchtung zieht ca. 60 mA. Bei 150 Pixeln sind das ca. 9 A. Dünne Kupferbahnen auf LED-Streifen verursachen Spannungsabfälle, die zu Flackern oder Ausfällen führen. Daher sollte alle 50 Pixel (ca. 1 m bei 60 Pixel/m) neu eingespeist werden: Datenleitung durchverbinden, Spannung und Masse neu vom Netzteil zuführen. Kabelquerschnitt muss der Stromstärke angepasst sein.
Das Netzteil sollte stets mehr Strom liefern können als maximal benötigt. Hier wurden 40 A und 60 A Netzteile verwendet. Werden mehrere Netzteile eingesetzt, müssen alle Masse-Leitungen miteinander verbunden werden.
Arduino als Controller
Viele gängige Arduino-Boards eignen sich als Schnittstelle zwischen Vixen (PC) und den Pixel-Streifen. Der Flaschenhals ist meist die serielle Übertragungsrate: Die meisten Arduinos schaffen maximal 115.200 Baud. Für 150 Pixel (450 Farbwerte) dauert die Übertragung ca. 45 ms, was eine Bildwiederholrate von ~20 Hz (alle 50 ms) ermöglicht. Der Code basiert auf der Arbeit von David Hunt (blog.huntgang.com).

Vixen Serial Port konfigurieren
- Generischen Serial Controller hinzufügen: Im Menü oben rechts „Add Generic Serial Controller“ wählen.
- Ausgangskanäle festlegen: Anzahl = 3 × Pixelanzahl. Beispiel: 30 Pixel → 90 Kanäle.
- COM-Port und Baudrate einstellen: Zahnradsymbol unten rechts → COM-Port des Arduinos wählen (z. B. COM13), Baudrate 115200, Rest unverändert.
- Header für Pixelanzahl setzen: Im Controller-Header die Pixelzahl als dreistelligen Wert eintragen (z. B. „030“ für 30 Pixel). Der Arduino empfängt nun Daten und die LEDs sollten blinken.



Pixel-Element in Vixen erstellen
- Single Item anlegen: Oben links „Single Item“ wählen, grünes Plus klicken, Name: „Pixel Strip“.
- Mehrere Pixel hinzufügen: Rechtsklick auf „Pixel Strip“ → „Add Multiple“ → „Numbered Items“, Name „Pixel Strip“, Anzahl 30. Liste prüfen, OK.
- Farbbehandlung konfigurieren: „Pixel Strip“ markieren, unten links „Configure“ → „Color Handling“ → „They can be any color: they are full RGB and mix to make any color.“ wählen.
- Element mit Controller verbinden (Patchen): Links „Pixel Strip“, rechts „Generic Serial Controller“ markieren. Unverbundene Patch-Punkte müssen übereinstimmen. „Patch Elements to Controllers“ klicken.
- Prüfung: Grafische Ansicht sollte nun alle Pixel zeigen.




Erste Sequenz erstellen
- Vixen öffnen → „New Sequence“.
- Audio importieren (Menü Tools → Audio → Import, MP3 empfohlen).
- Timeline zoomt mit Lupen-Symbolen.
- Beat/Bar Detector (Tools → Audio) ausführen, um Effekte taktsynchron zu platzieren.
- Effekte-Menü (links): „Basic Lighting“ oder „Pixel Lighting“ → z. B. „Chase“ per Drag & Drop auf die Pixel-Strip-Zeile ziehen, per Maus vergrößern.
- Effekt markieren → rechte Seite: Richtung, Farbe, Puls, Tiefe etc. anpassen, „Effect Preview“ aktivieren.
- Play (oben links) drücken und genießen.






Hinweis: Sobald Arduino und Vixen verbunden sind, blinkt die RX-LED am Arduino – er wartet auf serielle Daten.
Code
FastLED Library
Installation über Arduino Library Manager oder von fastled.io in den Bibliotheken-Ordner kopieren.
Arduino Sketch
/* Vixen Lights 3.x - Arduino Generic Serial for Addressable Pixels
* Einfach Data-Leitung (WS2811/WS2812) an Pin 6 anschließen, Code hochladen.
* FastLED Library von https://fastled.io installieren.
* Pixel-Stripe extern mit 5 V versorgen.
* In Vixen: Generic Serial Controller, 3 × Pixel als Kanäle, 115200 8N1.
* Element: Multiple Items (1 × Pixelanzahl), als RGB patchen.
* Tutorial: blog.huntgang.com
* Version 1.4, Richard Sloan & David Hunt
*/
#include <FastLED.h>
#define NUM_LEDS 300 // Max. LEDs, Speicherbegrenzung
#define DATA_PIN 6 // Datenpin für LED-Stripe
CRGB leds[NUM_LEDS];
void setup() {
Serial.begin(115200);
}
void loop() {
int cnt = 0;
unsigned int num_leds, d1, d2, d3;
for(;;) {
cnt = 0;
// Header '>>' warten
while(!Serial.available()); if(Serial.read() != '>') continue;
while(!Serial.available()); if(Serial.read() != '>') continue;
// 3 Ziffern Pixelanzahl
while(!Serial.available()); d1 = Serial.read();
while(!Serial.available()); d2 = Serial.read();
while(!Serial.available()); d3 = Serial.read();
// Header Ende '<<'
while(!Serial.available()); if(Serial.read() != '<') continue;
while(!Serial.available()); if(Serial.read() != '<') continue;
num_leds = (d1-'0')*100 + (d2-'0')*10 + (d3-'0');
if(num_leds > NUM_LEDS) continue;
FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, num_leds);
do {
while(!Serial.available()); leds[cnt].r = Serial.read();
while(!Serial.available()); leds[cnt].g = Serial.read();
while(!Serial.available()); leds[cnt++].b = Serial.read();
} while(--num_leds);
FastLED.show();
}
}
Schaltplan
470 Ω Widerstand in die Datenleitung (Pin 6 → LED-Stripe Data-In) einbauen.


Herstellungsprozess
- LED-Helligkeit per PWM und Taster am Arduino Mega steuern
- Ultraschall-Schwebegerät mit Arduino bauen – Akustische Levitation Schritt für Schritt
- Universelle Android-Fernbedienung mit Arduino, 1Sheeld & IR-Steuerung
- Intelligentes Voltmeter mit Arduino & Smartphone bauen – Einfaches DIY-Projekt
- Arduino Temperatur- & Feuchtelogger mit DHT11 & Ethernet Shield
- Smart IoT-Glas bauen: Füllstand überwachen mit ESP8266, Arduino & Ultraschall
- Frequenz & Tastverhältnis präzise messen mit Arduino UNO
- Erdmassen-Messung mit Arduino: Schritt-für-Schritt DIY-Anleitung
- Echtzeit-Entfernungsmessung mit Arduino Sonar & Processing-Visualisierung
- Digitaler Kompass in Echtzeit mit Arduino & Processing bauen