Digitale Weihnachtsbeleuchtung selbst gebaut – Teil 3

Mit einem Jahr Verspätung folgt nun der dritte Teil wie man selbst eine digitale Weihnachtsbeleuchtung bauen kann.

Digitale Weihnachtsbeleuchtung selbst gebaut - Teil 1
Digitale Weihnachtsbeleuchtung selbst gebaut - Teil 2

In diesem dritten Teil gebe ich meine Teensy Treiber Software zum Download frei und erkläre wie man die Software auf den Teensy lädt. Danach erfolgt die Installation der Gratis Software „Vixen Lights“ und ein Beispiel, wie man zum Start eine mini Weihnachtsbeleuchtung mit 50 LED konfiguriert. Der Teil 3 ist sehr umfangreich da der ganze Weg bis zum Betrieb beschrieben ist.

Teensy 3.1 / 3.2 mit „vchristmas v1.0“ flashen

Als erstes lädt man die aktuelle Version 1.6.12 von Arduino herunter. (Arduino 1.6.12 – Download)

Danach muss man zu Arduino die Zusatzsoftware Teensyduino installieren. Nur so kann man den Teensy nachher mit der Treibersoftware „vchristmas“ flashen. (Teensyduino 1.31 (beta) – Download)
Wer mit einer älteren Arduino Version arbeitet kann die offizielle Version 1.30 herunter laden. (Teensyduino 1.30 – Download)

Installation Teensyduino

Installation Teensyduino 1.31 beta – Als Speicherort den Pfad angeben wo Arduino gespeichert wurde.

 

Installation Teensyduino

Als Option wird einzig die Library „OctoWS2811“ benötigt. Ich installiere jedoch immer alle Librarys

 

Installation Teensyduino

Am Schluss wird erklärt wie man den Teensy bedient.

 

Als letztes wird noch mein Sketch für den Teensy benötigt. (Arduino Sketch vchristmas v1.0 – Download) Datei entzippen „vchristmas_v_1_0.ino“.
vchristmas funktioniert nicht auf einem Arduino!

Teensy flashen

Teensy an Computer anschliessen und das Ardunio Programm starten.
Unter Tools > Board > Teensy 3.2/3.1 auswählen
CPU Speed > 72 MHz optimized speed auswählen (andere Optionen habe ich nicht getestet)
Port: den COM Port wählen, an welchem der Teensy angeschlossen ist.

Arduino 1.6.12 Konfiguration

Arduino 1.6.12 Konfiguration

 

Jetzt die zuvor herunter geladene und entzippte Datei „vchristmas_v_1_0.ino“ laden

const int ledsPerStrip = 1000; // Maximale Anzahl Pixel pro Strang
int PixelCount = 50; // Effektive Anzahl Pixel
float hell = 0.50; // Dimmer 1.00=100% Helligkeit - 0.50=50% Helligkeit

Jetzt die drei Werte nach Bedarf anpassen. Zum Start empfehle ich die Einstellungen jedoch so stehen zu lassen.

Nun den Code verifizieren (Haken oben Links) und danach den Upload (Pfeil nach Rechts) starten.
Es meldet sich noch das Teensyduino Programm und fordert auf den Button am Teensy zu drücken.

Wenn alles geklappt hat, leuchten alle LED für fünf Sekunden Blau auf. Dies soll signalisieren, dass der Teensy bereit ist um die Daten von Vixen Lights zu empfangen. Jedes Mal wenn der Teensy am USB Port des Computers neu eingesteckt wird wird diese Testroutine ausgeführt. Wenn nichts leuchtet muss die Datenleitung und die Stromversorgung geprüft werden. Leuchten die LED willkürlich oder flackern wild um sich besteht ein Problem an der Datenleitung oder an einer der LED.

Jetzt die Arduino und Teensyduino Programme beenden, damit der COM Port für Vixen Lights freigegeben wird.

Vixen Lights installieren

Nun ist es an der Zeit die neuste Version von Vixen Lights zu installieren. Das Programm gibt es zur Zeit nur für Windows. Die Version läuft einwandfrei mit Windows 10 und älteren Versionen. Die Installation ist selbsterklärend und es sind keine weiteren Schritte notwendig.

Vixen Lights konfigurieren

An diesen eigentlich wenigen und simplen Schritten biss ich mir vor gut 3 Jahren fast die Zähne aus. Ich benötigte unzählige Stunden bis ich das Prinzip und die Zusammenhänge verstand.

Als erstes konfiguriert man bei System Configuration das „Setup Display“. Hier wird der Aufbau der Weihnachtsbeleuchtung abgebildet. In unserem Fall nehmen wir eine simple LED Lichterkette mit 50 LED’s.

Vixen Lights 3.3

Vixen Lights 3.3 – Einstiegsseite . Rechts konfiguriert man die Software und Links erstellt und bearbeitet man die Weihnachtsprogramme.

 

Wir legen unter Elements eine LED Gruppe Namens „Minitrees“ an, welche 50 LED (Item Count) enthält. Später baut man hier die gesamte Weihnachtsbeleuchtung bestehend aus Sternen, Bäumen, Lichterketten, Säulen und Bögen. Eine gute Bezeichnung der Objekte hilft später bei der Programmierung. Man kann auch weitere Untergruppen anlegen. Je nach Aufbau hat dies jedoch später Konsequenzen bei der Zuweisung von Effekten.

Vixen Lights 3.3

Vixen Lights 3.3 – Elemente (Bäume, Sterne, Girlanden usw.) anlegen.

 

Nun haben wir einen ersten Weihnachtseffekt, nun geht es zum Output. Unter Controllers konfigurieren wir die Ansteuerung des per USB angeschlossenen Teensy Prozessors. Es gibt viele andere Controller welche man direkt auswählen kann. Es ist möglich mehrere, auch unterschiedliche Controller, in ein Projekt einzubinden. Wir legen einen „Generic Serial“ Controller an.

Vixen Lights 3.3

Vixen Lights 3.3 – Nebst dem Teensy können verschiedene Kauf-Controller ausgewählt werden. Es können auch mehrere Controller gleichzeitig angesteuert werden.

 

Wichtig: Nun muss man angeben wie viele Outputs man hat. Da wir mit RGB arbeiten benötigen wir pro LED drei Outputs (für jede Farbe einen). Somit multiplizieren wir die Anzahl der LED mit drei. Bei 50 LED geben wir daher 150 ein.

Vixen Lights 3.3

Vixen Lights 3.3 – Wir benötigen pro LED drei Ausgänge. Denn für Rot, Grün und Blau benötigt es jeweils einen Kanal. 50 LED benötigen hier 150 Kanäle.

 

Bei den Elementen auf der Linken Seite müssen wir nun ebenfalls noch die drei Farbkanäle angeben. Um alle 50 LED auf einmal zu konfigurieren klicken wir auf das Hauptobjekt „Minitrees“. Unten wählen wir bei „Configure“ > „Color Handling“ und klicken danach auf das Zahnrad. Im aufgepoppten Fenster geben wir die Color Order mit „RGB“. Sollten später die Farbwiedergaben bei Deinen LED Streifen falsch sein, kann man hier die Farbanordnung noch ändern.

Vixen Lights 3.3

Vixen Lights 3.3 – Definition der LED Kanäle. Meine WS2811 LED benötigen RGB. Es gibt auch RGBW Stripes mit Rot, Grün, Blau und Weiss usw.

 

Vixen Lights bestätigt das Zufügen der 50 Color Filter.

Vixen Lights 3.3

Vixen Lights 3.3 – Die Farbkanäle sind zugefügt.

 

Bald haben wir es geschafft. In der Mitte der Übersicht sehen wir nun „Total Patch Point 150“. Vorher waren es nur 50. Und so passt das nun perfekt auf die 150 Outputs. Wir klicken nun links auf „Minitrees“ und rechts auf „Generic Serial“. Damit wählen wir alle vorhandenen In- und Output Kanäle an. Durch einen Klick auf „Patch Elements“ im mittleren Feld verbinden wir nun alle Objekte mit den Ausgangskanälen.

Vixen Lights 3.3

Vixen Lights 3.3 – Hier werden die definierten Lichtpunkte mit den Ausgabekanälen verknüpft.

 

Das erfolgreiche Patchen wird von Vixen Lights nun bestätigt. Später kann man auch beliebige, einzelne „Elements“ markieren und mit ebenso beliebigen Output Kanälen verbunden werden.
Wichtig: Die hier verknüpfte Reihenfolge bestimmt nachher, in welcher Reihenfolge die Weihnachtsbeleuchtung verbunden werden muss. Es lohnt sich daher vor Beginn eine Zeichnung aufzustellen und eine kabeltechnisch sinnvolle Reihenfolge zu finden.

Skizze Weihnachtsbeleuchtung Anordnung

Für eine umfangreiche Beleuchtung muss man die Verkabelung und LED Verteilung gut planen. Die Reihenfolge der Output LED muss exakt mit der Datenleitung an der Weihnachtsbeleuchtung korrespondieren.

 

Auf der Output Seite müssen wir als letztes noch was kleines einstellen. Unter „Controllers“ klicken wir auf „Generic Serial“ und gehen unten auf das Zahnradsymbol.
Unter Packet Data wählen wir die Checkbox bei „Send a text header“ und schreiben in das Textfeld „VIXStart“ rein. Der Teensy reagiert später auf dieses Wort und weiss, wann ein neues Lichtbild übermittelt wird.
Bei „Serial Port Settings“ klicken wir auf „Setup/Change Serial Port“. Vixen erkennt den angeschlossenen Teensy und wählt den passenden COM Anschluss. Wir stellen die Baudrate auf 115200 Baud. Der Rest bleibt stehen. Die Fenster durch OK bestätigen. Die Konfiguration ist fertig.

 

Unter „Patching“ > „Graphical View“ können wir die Konfiguration grafisch prüfen. Jeder LED Pixel hat dahinter ein „Color Breakdown“ welcher sich auf drei „Outputs“ verteilt. Bei mir sind das rund 12’000 Output Einträge und da macht die graphische Darstellung nicht mehr mit (langsam bis Crash).

Vixen Lights 3.3

Vixen Lights 3.3 – Grafische Darstellung der Verknüpfung. Sind erste Lichtprogramme geschrieben, kann man diese Struktur nicht mehr verändern, nur noch erweitern.

 

Die Konfiguration ist so abgeschlossen. Unter „Setup Previews“ könnte man eine virtuelle Weihnachtsbeleuchtung zeichnen und diese am Monitor anschauen. Diese Konfiguration lassen wir mal weg, denn das Zeichnen ist nicht ganz einfach. Im Internet gibt es dazu jedoch ganz gute Video Tutorials.

Wir programmieren nun unsere erste Weihnachtsbeleuchtungs-Show. Dazu gehen wir im Hauptmenu unter „Sequences“ auf „New Sequence…“.

Unter dem Reiter Timeline sehen wir jetzt unseren „Minitree“. Darunter findet man zudem jede einzelne LED nochmals separat aufgeführt. Die einzelnen Objekte kann man nach Bedarf auf- und zuklappen.

Vixen Lights 3.3

Vixen Lights 3.3 – Im Sequenz Editor werden die Lichtprogramme mittels Drag and Drop erstellt. Geschwindigkeit, Farbe, Helligkeit, Musik usw. werden hier fast wie bei einem Notenblatt komponiert.

Für ein erstes Erfolgserlebnis ziehen wir nun von der „Effects“ Liste einen Effekt auf die Zeitachse wo Minitree steht. Mit der Maus kann man den Effekt ganz einfach auseinander ziehen und so die Abspieldauer verlängern. Drücken wir jetzt oben auf die „Play“ Taste wird der Lichteffekt abgespielt. Bravo!

Vixen Lights 3.3

Vixen Lights 3.3 – Nicht alle Effekte passen zu jeder Lichtdekoration. Blinken, Flackern, auf- und abschwellen usw. geht jedoch fast immer. Eine Laufschrift an einer Girlande macht jedoch wenig Sinn.

 

Nun könnt Ihr mit dem Experimentieren beginnen. z.B. den Effekt „Set Level“ auf einen einzelnen Pixel (z.B. Tree-1) ziehen. Nun leuchtet vom Start bis zur Sekunde zwei nur dieser Pixel in Weiss usw.

Vixen Lights 3.3

Vixen Lights 3.3 – Jede einzelne LED kann in Helligkeit und Farbe angesteuert werden. Bei über 3’000 LED nutz man jedoch bevorzugt vorgegebene Lichteffekte welche man in Farbe, Geschwindigkeit usw. anpasst.

Kompliziert?

Ich hoffe, die relativ komplizierte Materie zumindest etwas verständlich beschrieben zu haben. Dieser dritte Teil kostete mich locker 6 Stunden, nur zum schreiben. Das Austüfteln benötigte jedoch dutzende von Stunden. Ich hoffe damit dem einen oder anderen ein bisschen weiter geholfen zu haben. Oder einfach für eigene Projekte angeregt zu haben. Über Feedbacks zur Beschreibung und Verständlichkeit freue ich mich immer.

Wie weiter?

Bis zur kompletten Weihnachtsbeleuchtung sind es natürlich noch einige Schritte erforderlich. Musik auswählen und hinterlegen. Verschiedene Lichtprogramme schreiben. Ich empfehle dabei mehrere kleine Programme mit je ca. 3 Minuten Laufzeit zu schreiben. Danach programmiert man den Scheduler wo eingestellt wird um welche Zeit welches Lichtprogramm abgespielt wird. Der Kreativität sind fast keine Grenzen gesetzt.

Es gibt natürlich noch unzählige Tipps, Tricks und Hinweise. Das würde jedoch den Rahmen sprengen. Wer es jedoch bis hierhin geschafft hat, wird keine Probleme haben sein persöhnliches Weihnachtsprojekt erfolgreich umzusetzen. Ich freue mich natürlich über Feedbacks und Bilder zu umgesetzten Projekten.