Skip to main content

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

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

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
}

Auslesen von DMX-Signalen mit dem Arduino

DMX ist ein simples Protokoll basierend auf der standardisierten Schnittstelle RS-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.

Um die LightBox per DMX ansteuern zu können, müssen wir DMX-Signale empfangen können. Hierzu gibt es hier 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

Als Bibliothek um das Signal des MAX-RS485-Moduls mit den Arduino verständlich in unserem Code zu verwenden, nutzen wir die Libary DMXSerial. 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.

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
}
}

 

 

 

 

 

 

 

 

 

 

1m x 20xm x 40cm