Arduino DMX-512 Tester & Controller – Komplettes Bauteil-Set für zuverlässige Lichtsteuerung
Komponenten und Zubehör
| Bauteil | Menge |
|---|---|
| Arduino Mega 2560 Rev. 3 | 1 |
| SparkFun Drehpotentiometer – 10 kΩ, linear | 1 |
| Taster (Einpolig, Einweg, Momentan) | 5 |
| SparkFun 20×4 Zeichen-LCD – Schwarz auf Grün, 5 V | 1 |
| Transistor 2N2222A TO-18 NPN 75 V 0,6 A | 2 |
| Tastenmatrix 4×4 | 1 |
| MAX485 Low-Power RS-485/RS-422 Transceiver | 1 |
| Widerstand 330 Ω | 2 |
| Widerstand 1 kΩ | 2 |
| Widerstand 120 Ω | 1 |
| 3 mm LED: Grün | 2 |
| Keramikkondensator 1 nF | 6 |
| Großer Klemmenblock, 3-polig | 1 |
| Großer Klemmenblock, 2-polig | 1 |
| Schiebeschalter 1 Pol, 2 Stellungen | 1 |
| XLR-Buchse 3-polig, PCB-Mount (Amphenol AC3FAH2-AU-PRE) | 1 |
| XLR-Buchse 5-polig, PCB-Mount (Amphenol AC5FAH-AU-B) | 1 |
| Stiftleiste 40-polig, 1 Reihe (2,54 mm) | 4 |
| Pertinax-Platine einseitig, 15 × 20 cm | 1 |
| IC-Sockel 8-polig | 1 |
| Lichtempfindliches Trockenfilm-PCB 30 cm × 200 cm | 1 |
Über das Projekt
Dieses Steuerwerkzeug dient dem Testen und der Lichtshow-Steuerung per DMX-512-Protokoll. Es eignet sich ideal für schnelle Tests an festen oder temporären Lichtinstallationen, ohne dass Lichtpulte, Interfaces oder Computer in rauen oder schwer zugänglichen Umgebungen installiert werden müssen.
Grundlage
- Arduino Mega 2560 Rev. 3
- Arduino-Bibliothek „Four Universes DMX v0.3“ – Deskontrol
- LCD-Bibliothek v1.2.1 – Francisco Malpartida
- Arduino-Simulation in Proteus – Microcontrolandos
Hardware v0.4
Änderungen:
- Unterstützt Firmware v0.9 – v1.3
- 4×20 LCD mit softwaregesteuerter Hintergrundbeleuchtung und Kontrast
- Stromversorgung via USB, Batterien oder externes Netzteil
- Navigations-Tastenfeld
- 4×4-Tastenmatrix
- Analoges Steuerpotentiometer
- Ein-/Ausschalter (nicht bei USB-Stromversorgung)
- DMX-Ausgang über Klemmenblock, 3-poligen und 5-poligen XLR
- Status-LEDs für DMX-Ausgang
- Simulation in Proteus V7.7 SP2
- Schaltplan und PCB in Proteus v8.0 SP1
Aufbau
Die Platine wurde im Eigenbau mittels Fotosensitivreifenverfahren hergestellt. Nach Belichtung, Entwicklung und Ätzen mit Eisen(III)-chlorid wurden die Bohrungen gesetzt und die Bauteile bestückt. Besondere Aufmerksamkeit galt der Anpassung der Potentiometer-Mechanik und der Vermeidung von Kurzschlüssen am USB-Port des Arduino Mega.
Firmware v1.2
Hauptfunktionen:
- Unterstützt Hardware v0.3 – v0.4
- Intuitive Cursor-Navigation
- Schnelle Werteingabe über Tastenmatrix und Potentiometer
- 8 Speicherbänke für DMX-Universen (EEPROM)
- Automatisches Laden eines vorausgewählten Universums beim Start
- Einzelkanal-Steuerung (Unitary) mit Anzeige benachbarter Kanäle
- Matrix-Anzeige 3×5 Kanäle
- Chaser-Sequenzierung mit einstellbarer Zeit
- Sequencer über gespeicherte Universen
- Multiplikator-Funktion für Kanalwerte
- Leuchten-Lokalisierung („Locate“) per Blinken
- Blackout-Funktion
- Softwaregesteuerte LCD-Hintergrundbeleuchtung und Kontrast
- Tastenkürzel für Hintergrundbeleuchtung
- Kompiliert mit Arduino IDE 1.0.6
Code-Struktur (Auszug)
Der vollständige Sketch ist auf GitHub verfügbar. Kernbestandteile sind:
- DMX-Bibliothek für 4 Universen (Deskontrol)
- LiquidCrystal für LCD-Ansteuerung
- EEPROM-Verwaltung für Speicherbänke
- Zustandsmaschinen für Menünavigation (Cursor, Tastenmatrix, Potentiometer)
- Funktionen für Unitary, Matrix, Chaser, Multiply, Memory, Config
Bedienung
Startmenü – Initial Memory
- Empty: RAM löschen (alle Kanäle = 0), EEPROM unverändert
- Load: Gespeichertes Universum aus EEPROM laden
- Clear: EEPROM löschen und RAM auf 0 setzen
Control Options
- Memory: Speicheroptionen (Save, Load, Empty, Clear, Blackout)
- Unitary: Schneller Zugriff auf einzelnen Kanal
- Matrix: 3×5-Matrixanzeige mit Direktzugriff
- Chaser: Sequenz zwischen Start- und Endkanal mit Delay
- Multiply: Wert auf mehrere Kanäle mit festem Schritt anwenden
- Config: LCD-Hintergrundbeleuchtung, Kontrast, About
Spezialtasten auf der 4×4-Matrix
- A: Setzt Wert direkt auf 255
- B: Setzt Wert direkt auf 0
- C: Locate-Funktion (Kanal blinkt 0↔255)
- D: Analog-Eingabe via Potentiometer aktivieren
- *: Hintergrundbeleuchtung ein/aus
- #: Bestätigung bei Zahleneingabe (< 3 Stellen)
Repository & Dateien
- GitHub: Arduino-DMX-512-Tester-Controller
- Proteus-Projekt:
DMX Controller v01 - Proteus 80.pdsprj - Lizenz: GNU GPL v3
Herstellungsprozess
- Web-gesteuertes DMX-Lichtsystem – Arduino Master Controller
- Interaktives Gyroskop-LED-Display mit NeoPixel-Ring & Arduino
- DIY Arduino USB Gaming Controller – Bauen Sie Ihren eigenen High-Performance Gamepad
- Unopad: Nahtloser Arduino MIDI-Controller für Ableton Live
- Pixie: DIY NeoPixel-Armbanduhr mit Arduino Pro Mini – Schick & Selbstgebaut
- Arduino Rover per Firmata & Xbox One Gamepad steuern
- Arduino-basierter VFD-Ansteuerungs-Controller (Vacuum Fluorescent Display)
- Spracherkennung & Sprachsynthese auf Arduino Due meistern
- Alexa-fähiger Arduino Home Controller: Smarte Automatisierung leicht gemacht
- Tragbares Überwachungs-Roboter-System mit Raspberry Pi & Android-App