Arduino, ein einfacher RS485 Treiber IC und ein Widerstand sind alles was man benötigt um einen billigen DMX Lichtkontroller zu bauen und man bekommt auch noch eine voll funktionsfähige Software gratis dazu.
Als Erstes bauen wir den DMX Kontroller, ich hab mich entschieden dafür ein Arduino ProtoShield zu verwenden. Das Design basiert auf der Arbeit von Tom Kness. Einfach nachbauen und den “Input” mit D0/RX auf dem Arduino verbinden. Ich hab mcih für einen Jumper entschieden, damit ich leicht zwischen D0 (damit wird aus dem Arduino ein OpenDMX Interface) und D3 – ist der Standardport für die DMX Simple Bibliothek – wechseln kann.
Als nächstes benötigen wir eine Lichtsteuer-Software und das bitte gratis. Q Light Commander ist gratis und Open Source und für Mac OS X / Windows und Linux verfügbar.
Das Wichtigste ist allerdings, dass vor dem Start der Software der FTDI USB Treiber (wird vom Arduino IDE mit installiert) beendet wird!
Prüfen ob der Treiber geladen ist:
1 | $ sudo kextstat | grep FTDI |
Treiber beenden:
1 | $ sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext |
Treiber wieder laden:
1 | $ sudo kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext |
Arduino, a simple RS485 driver, one resistor is all you need to get build your own cheap DMX light controller and get a full featured controlling software for free.
First you have to build your DMX controller, i’ve chosen to build it on a ArduinoProto Shield. It’s based on the design by Tom Kness. Just connect the “input” to D0/RX on your Arduino Board. I used a jumper to switch between D0/RX (for Arduino as a OpenDMX Interface) and D3 which is the default Output for the DMX Simple library
The next thing we need is a free Software to control the lights. I use Q Light Commander which is available for Mac OS X / Linux and Windows.
The most important thing is to unload the FTDI USB drivers (which you probably use for Arduino development because they get preinstalled with the Arduino IDE)!
check if the drivers are loaded:
1 | $ sudo kextstat | grep FTDI |
unload them
1 | $ sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext |
load them again
1 | $ sudo kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext |


Deutsch
5 comments
Skip to comment form ↓
Willi Bromenne
03.05.2011 at 17:26 (UTC 2) Link to this comment
Hallo,
) und möchte mir daraus auch ein USB-DMX Interface bauen. Nun habe ich noch ein paar fragen.
ich habe mir vor kurzem ein Arduino Uno bestellt (hoffe das kommt bald mal an
Auf welchem Arduino-Board wurde das Inferface getestet, also läuft das auch auf dem Uno-Board, weil ich im Arduino-Playground gelesen habe das das dort vorgestellte DMX-Projekt nur auf den älteren Boards funktioniert.
Muss ich auf das Arduino-Board noch ein Programm laden oder ist das komplett Hardware basiert?
Letzte Frage: Wie funktioert das mit dem Treiber-Wechsel unter Windows?
Schon mal vielen Dank
Willi
Wolfgang
03.05.2011 at 17:39 (UTC 2) Link to this comment
hallo willi,
leider muss ich dich enttäuschen, das dmx interface funktioniert nur mit dem alten arduino (duemillanove), nicht mit dem Uno
grund: dieser “hack” missbraucht das arduino board, da es die gleiche usb schnittstelle (ftdi chipset) wie das OpenDMX projekt verwendet. somit wird nur der usb teil vom arduino verwendet, nicht das arduino an sich. ist also nützlich wenn man ein arduino board rumliegen hat und mal schnell was mit dmx machen will.
das uno board hat neue usb chips drauf, dadurch funktioniert das natürlich nicht mehr.
ich habs mal auf windows (virtuelle maschine auf meinem mac) kurz getestet, da war kein treiberwechsel notwendig.
ich hoffe das beantwortet deine fragen, ansonsten einfach nochmal nachfragen
Willi Bromenne
04.05.2011 at 18:44 (UTC 2) Link to this comment
Hallo,
vielen Dank für die schnelle Anwort. Das heißt ich werde mir dann wohl irgendwo einen billiges DMX-Interface kaufen müssen -> trotzdem noch teuerer als mit Arduino und nicht so flexibel. Hab ihr auch schon das Interface von Digital Enlightment fast fertig liegen, kann das nur ohne Osszillator nicht Debugen
Naja muss mir halt was anderes einfallen lassen….
nochmal vielen Dank
Willi
Rafi
06.07.2011 at 08:14 (UTC 2) Link to this comment
Hallo Wolfgang
Wo finde ich den Code für das OpenDMX Interface?
DANKE
Wolfgang
04.08.2011 at 10:22 (UTC 2) Link to this comment
Für das OpenDMX braucht man keinen Code, da die Lichtsteuersoftware das direkt anspricht, auf dem Arduino muss auch nichts laufen, weil der Arduino für das DMX gar nicht gebraucht wird, in Tat und Warheit wird er sogar umgangen.
Die Sache funktioniert so: das Shield ist im Prinzip das OpenDMX Interface ohne USB Anschluss. Der Arduino 2009 hat zufällig den selben FTDI USB Chip wie das OpenDMX und der ist auch noch auf die Pins D0 und D1 direkt durchverbunden. Also Shield auf den Arduino, wird verbunden mit dem FTDI USB Chip und man hat ein vollständiges OpenDMX Interface, der Rest vom Arduino wird gar nicht gebraucht, aber wenn man eben ein Arduino 2009 rumliegen hat, kommt man so sehr schnell und billig zu einem DMX Interface