# Scheune # Neue Seite # LightBox **Allgemein** Diese Seite beschreibt den Bau einer LightBox die per DMX angesteuert werden kann. Die Idee der LightBox ist das ON-AIR-Schild das typischer weiße Teil der Livestreams war. [![image-1636776025317.jpg](https://wiki.werkundkultur.de/uploads/images/gallery/2021-11/scaled-1680-/image-1636776025317.jpg)](https://wiki.werkundkultur.de/uploads/images/gallery/2021-11/image-1636776025317.jpg) Anforderungen für die LightBox sind: - leichter Wechsel der Frontseite mit Folierung für verschiedene Veranstaltungen (Bandworkshop, Rocknacht, Scheune) - kompakte Abmessung - Anpassbarkeit der Helligkeit - Plug&Play - Strom an und los geht es - opt. Ansteuerung über DMX **[![image-1636775884135.jpg](https://wiki.werkundkultur.de/uploads/images/gallery/2021-11/scaled-1680-/image-1636775884135.jpg)](https://wiki.werkundkultur.de/uploads/images/gallery/2021-11/image-1636775884135.jpg)** **Konzept der Box** Die Box sollte so simple wie möglich sein. Ein Holzrahmen mit Führungsfugen welche die Rückplatte und die Frontplatte halten. Abmessungen: 1000mmx200mmx412mm Materialwahl: - Holzrahmen - Multiplex 12mm - Rückplatte - Speerholz mit weißer Beschichtung auf einer Seite - Frontplatte - Polystyrolplatte als Diffuser mit Folierung (es werden die Buchstaben ausgeplottet) Technik für Beleuchtung und Steuerung - Led-Strip WS2812 - etwas Overkill, da jedes LED einzeln angesteuert werden kann. Option für Zukünftige Workshops des Medienwochenende von Sandra, LEDs zu programmieren. GIbt es auf Amazon in verschiedenen Ausführungen. - 5V 90 Watt Netzteil - in diesem Fall von Amazon - Kaltgeräte EInbaustecker - Ardurino Nano - ich nutze hier die V3 von AZDelivery - MAX-RS485 - Modul - DMX-Female Stecker - Breadboard - div. Kabel **Steuerung der LEDs per Arduino Nano** Jede LED (WS2812) besitzt einen eigenen Chip zur Ansteuerung. Das LED Stipe hat 3 Anschlüsse Ground, Data, und + bzw. 5-Votl Spannung. Achtung die Data ist eine DaisyChain und richtungsabhängig. Das Signal vom Arduino muss in Data-In (DI) gehen. Die Ansteuerung der LEDs ist mit der Bibliothek FastLed simple: 1. Öffnen der Arduino IDE 2. Installieren der Bibliothek FastLed. Hierzu Werkzeuge/Bibliotheken verwalten..../ - FastLed suchen - Installieren - schließen 3. Der Code um die LEDs der Reihe nach zum Blinken zubringen sieht dann so aus: *\#include <FastLED.h> //Einfügen der Bilithek FastLED in das aktuelle Projekt* *// Wie viele LEDs sind in deinem LED Stripe ?* *\#define Number\_Leds 280* *// Über welchen PIN soll das Datensignal für die LEDS ausgegeben werden ?* *\#define Signal\_Pin 6* *// Jedes LED kann einzeln Angesteuert werden und hat eine einzelne Farbe.* *// Die Farbe jeder LED wird hier in einer Liste(Array) LEDs\[\] des Dateityps CRGB gespeicehrt.* *// Die Zahl innerhalb der Eckigen Klammer \[\] gibt die Anzahl der Elemente in der Liste an* *CRGB LEDs\[Number\_Leds\];* *// Setup Funktion* *void setup() {* *// Setup of LED-Strip WS2812n* *// Welcher Chip Typ ? WO soll das Signal gesended werden, Welches Farbsystem ? Wo werden die Statuse gespeichert ? Wie viele LEDs haben wir ?* *FastLED.addLeds<WS2812B, Signal\_Pin , RGB>(LEDs,Number\_Leds);* *}* *// Dauerschleife die vom Arduino ausgeführt wird sobald er Strom hat* *void loop(){* *// Setze alle LEDs auf AUS/Schwarz* *for (int i = 0; i < Number\_Leds;i++)* *{* *// Angabe der Farbe im RGG-Format* *LEDs\[i\].r =00;* *LEDs\[i\].g =00;* *LEDs\[i\].b =0;* *// Ausgabe und Update des Statuese aller LEDs* *}* *// Gebe Aus-Status für alle LEDs auf dem DaisyChain aus* *FastLED.show();* *// Lasse alle LEDS nach einandern angehen mit einem Delay von 300ms -> FastLED.show()und delay(300) in der Schleife* *for (int i = 0; i < Number\_Leds;i++)* *{* *// Angabe der Farbe im RGG-Format* *LEDs\[i\].r =30;* *LEDs\[i\].g =20;* *LEDs\[i\].b =20;* *FastLED.show();* *delay(300);* *// Ausgabe und Update des Statuese aller LEDs* *}* **Senden und Auslesen von DMX-Signalen mit dem Arduino** [DMX](https://de.wikipedia.org/wiki/DMX_(Lichttechnik)) ist ein simples Protokoll basierend auf der standardisierten Schnittstelle [RS-485](https://de.wikipedia.org/wiki/EIA-485) Protokoll. Kurz und simple - DMX dient in der Veranstaltungstechnik zur Ansteuerung von allem was Leuchtet und sich dabei auch beweget, LEDs,Moving-Heads und Co, im Allgemein als "Geräte" bezeichnet . Es gibt immer ein "Pult" und "Geräte". DMX überträgt "elektronisch" die Anweisungen des "Pults" an die "Geräte", wobei ein Kabel(Signalleitung) für 512 Kanäle Werte im Bereich von 0 bis 255, über Spannungsunterschiede zwischen ±1,5 V bzw. ±5 V., was wiederum als Nullen und Einsen interpretiert werden kann, Daten überträgt. Die Geräte lesen je nach Typ eine Anzahl an Kanälen und deren Werte und wissen so was sie tuen sollen. [Hier ein kurzes Video zur Erklärung.](https://www.youtube.com/watch?v=GMMHAhFN6LQ) Um die LightBox per DMX ansteuern zu können, müssen wir DMX-Signale empfangen können. Hierzu gibt es [hier](https://www.jonasrueter.de/blog/technik/lichttechnik/dmx-empfangen-mittels-arduino/) einen guten Blog-Beitrag der das ausführlich erklärt. Auf dem Bild seht ihr den Arduino Nano(hellblaue Platine), ein MAX-RS485.Modul(dunkle blaue-Platine), ein DMX-Female Stecker (grüne Platine) und paar Kabel und Widerstände. [![image-1636777287821.png](https://wiki.werkundkultur.de/uploads/images/gallery/2021-11/scaled-1680-/image-1636777287821.png)](https://wiki.werkundkultur.de/uploads/images/gallery/2021-11/image-1636777287821.png) Als Bibliothek um das Signal des MAX-RS485-Moduls mit den Arduino verständlich in unserem Code zu verwenden, nutzen wir die Libary [DMXSerial](http://www.mathertel.de/Arduino/DMXSerial.aspx). Um die DMXSerial zu nutzen, müsst ihr die Libary installieren. Hierzu: - Arduino IDE öffnen - Werkzeuge/Bibliotheken verwalten..../ - DMXSerial suchen - Installieren - schließen **ACHTUNG die Libary blockiert die Komplette Serielle Schnittstelle des Arduinos. In eurem Code darf nirgendwo Serial.beginn(XXXXX) stehen. Sonst kommt es zu Problemen.** Um die Bibliothek zu testen habe ich das Setup des Bild 2 mal aufgebaut um einen Sender und einen Empfänger zu haben, A zu A und B zu B jeweils mit einem Kabel verbunden. Alternativ kann man anstelle eines Arduinos auch ein DMX-Pult als Sender verwenden und Pin 1 des Steckers auf Ground, Pin 2 des Steckers auf A und Pin 3 des Steckers auf B verbinden. **DMX-Sender** Der Code für den Sender sieht folgender Maßen aus: *// Laden der notwendigen Bibliothekn* *\#include <DMXSerial.h>* *\#include Libary* *// Statuse die durch gelaufen werden* *int RedList\[\] = {255,0,0};* *int GreenList\[\] = {0,255,0};* *int BlueList\[\] = {0,0,255};* *//int Dimmer\[\]={10,50,100,150,200,150,100};* *// Initialisieren von DMXSerial wichtig ist der Modus DMXController* *void setup() {* *// put your setup code here, to run once:* *DMXSerial.init(DMXController);* *}* *//Loop, der nach dem Setup in Endlos schleife durch gelaufen wird* *void loop()* *{* *// Schleife in der die Statuses durchlauften werden.* *for (int i = 0; i < 3;i++)* *{* *DMXSerial.write(1,RedList\[i\]); //Senden Rot-Wert auf DMX-Kanal-1* *DMXSerial.write(2,GreenList\[i\]); // Senden Grün-Wert auf DMX-Kanal 2* *DMXSerial.write(3,BlueList\[i\]); // Senden Blau-Wert auf DMX-Kanal-3* *delay(600);//Delay von 600ms bis nächstes DMX-Signal gesendet wird* *}* *}* **DMX-Receiver** Unsere LightBox als DMX-Controller ist simple Stupid gehalten. Die LightBox ließt die DMX-Kanäle 1 bis 3 aus, und gibt die Werte als RGB-Werte über die LEDS aus, wobei Kanal 1 rot. Kanal 2 grün und Kanal 3 blau entspricht. Der Code sieht folgender Maße aus: *// Laden der notwendigen Bibliotheken* *\#include <FastLED.h>* *\#include <DMXSerial.h>* *// How many leds are in your stripe ?* *\#define Number\_Leds 280* *// Which is the digital output pin for the data-line of the Pixels* *\#define Signal\_Pin 6* *// The leds are represendet by a chaine of indiviuals Pixels as an Array* *CRGB LEDs\[Number\_Leds\];* *void setup() {* *DMXSerial.init(DMXProbe);// Initilisieren DMXSerial* *FastLED.addLeds<WS2812B, Signal\_Pin , RGB>(LEDs,Number\_Leds);// Setup of LED-Strip WS2812n* *DMXSerial.maxChannel(3); // Anzahl der DMX Kanäle die ausgewertet werden sollen* *//RGB-Wert aller LEDs auf weiß bei 30% setzen* *for (int i = 1; i < Number\_Leds;i++)* *{* *LEDs\[i\].r =30;* *LEDs\[i\].g =30;* *LEDs\[i\].b =30;* *}* *// Weiß LED-Wert aufgeben* *FastLED.show();* *}* *// Funktion um DMX-Werte von einer Start-Adresse ausgehend in Farbwerte der LEDs umzurechne und alle LEds auf diese RGB Werte zu setzen und Status der LEDs auszugeben* *void Leds\_DMX(int start\_adresse){* *for (int i = 1; i < Number\_Leds;i++)* *{* *LEDs\[i\].r =DMXSerial.read(start\_adresse);* *LEDs\[i\].g =DMXSerial.read(start\_adresse+1);* *LEDs\[i\].b =DMXSerial.read(start\_adresse+2);* *}* *FastLED.show();* *}* *//Dauerschleife die nach dem Setup endlos ausgeführt wird* *void loop() {* *//Bedingung bei Änderung der DMX-Werte - Erhalten eines neuen Datenpakets die Funktion Leds\_DMX auszuführen und ab Kanal 1 die DMXWerte aus zuleseen* *if (DMXSerial.receive()) {* *Leds\_DMX(1);* *}* *}* **Design und Folierung des Schilds** Die Folierung der Polystyrol-Frontplatte war etwas schwieriger. Es hat sich als hilfreich gezeigt, keine Übertragungsfolie zu verwenden und mit 2 Personen die Platte zu folieren. Am besten beginnt ihr von Rechts nach Links, also gegen die Leserichtung der Schrift und passt dabei auf die Folie nicht einzureißen, in dem ihr die Folie die ihr nicht braucht nahezu parallel zu der noch kommende Folie abzieht, nicht gerade nach oben, und ab und zu auf der unter Seite schaut ob ihr Buchstaben wie ein Balken beim E abziehen müsst. Falls ihr kein richtigen Scharber habt, eignen sich Kreditkarten und Co sehr gut zum feststreichen und rausstreichen von Blasen. **Abschluss** Das wars mit der Magic, der Rest war etwas Holzarbeit, Löten, Verkabeln und das allgemeine Training des Makers bei Fehlern, wenn es nicht auf Anhieb so klappt wie gedacht. VG Joni # Beleuchtung Das neue Beleuchtungskonzept in der Scheune wird über Home Assistant gesteuert. (Aktuell noch in Aufbau)

Offene Arbeiten - Tablet für die Bedienung einbauen - DMX Adresse für Par 5 nochmal neu einstellen - Art-Net Interface in IoT Netzwerk umziehen

### DMX Adressen: LED Par 1 (über Küchentür rechts) 100 LED Par 2 (über Küchentür links) 110 LED Par 3 (über Ofen) 120 LED Par 4 (über Flurtür) 130 LED Par 5 140 LED Par 6 150 LED Par 7 160 LED Par 8 170 LED Par 9 180 LED Par 10 190