Scheune

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:

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: 

Technik für Beleuchtung und Steuerung

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