Forum: Mikrocontroller und Digitale Elektronik WS2812 Leds über USB mittels DMX-Software steuern


von Lighty (Gast)


Lesenswert?

Hallo zusammen,

ich hab ein kleine Lichtarrangement mit WS2812 LEDs aufgebaut. Nun 
möchte ich diese gerne aus einer DMX-Steuersoftware (DMXControl, Celux, 
o.ä.) ansteuern können.

Ich bräuchte also eine einfache Schaltung die auf der einen Seite per 
USB ( V-USB scheint mir für den Zweck ganz gut) an den PC angschlossen 
werden kann und dann als DMX-Steuergerät erkannt wird. Auf der anderen 
Seite sollen dann die LEDs angeschlossen sein. Bis her hab ich zur 
Ansteuerung die Light weight WS2812 Library 
(https://www.mikrocontroller.net/articles/WS2812_Ansteuerung#Light_weight_WS2812_Library) 
verwendet.

Hardwaremäßig sollte das für mich keine große Herausforderung sein.

Meine Frage ist eher wie ich das softwaremäßig auf dem Mikrocontroller 
umsetzen kann. Mit USB-Kommunikation von Mikrocontrollern hab ich bisher 
fast keine Erfahrung. Anders als bei Projekten wie uDMX 
(http://www.anyma.ch/research/udmx/) muss das USB-Signal ja nicht an 
einen DMX-Ausgang weitergeleitet werden, sonder als Information 
(RGB-Wert) zur Verfügung stehen, die ich dann an die WS2812 Library 
weitergeben kann.

Habt ihr da Ideen, Tipps oder Links?
Vielleicht auch ein Projekt das eine Einführung in die 
V-USB-Programmierung in Bezug auf DMX gibt.
Ich hab bisher kein vergleichbares Projekt bei meiner Recherche finden 
können.

Danke im Voraus!

von Chris K. (Gast)


Lesenswert?

Hmm das entec opendmx basiert doch ganz einfach auf einem ftdi Chip. 
Läuft mit madrix, lynx, dmx control etc. Also arduino nehmen, da ist ein 
ftdi drauf. Den uart stream decodieren und die Werte in die adafruit neo 
Pixel lib kippen?

von Chris K. (Gast)


Lesenswert?


von Lighty (Gast)


Lesenswert?

Danke. Sieht erst mal gut aus. Ich werde mir das mal genauer angucken.

von Marco H. (damarco)


Lesenswert?

Lass es mit USB, da das Interface nur mit wenigen Programmen laufen wird 
und da USB nicht sonderlich stabil ist.

Benutzte Artnet das wird von vielen Programmen unterstützt. Solche 
Controller gibt es auch fertig z.Bsp von Radig, das für kleiner Geld.

Die ganzen USB Interfaces laufen alle mit einfachen Serialprofilen. Sehr 
schnell sind diese nicht, will man USB wirklich nutzen muss man auch 
einen Treiber schreiben und die Mühe macht sich kein Opensource Projekt.

FTDI ist eine Lösung da es für die Chips Treiber und API gibt die sich 
nutzen lassen.

: Bearbeitet durch User
von Lighty (Gast)


Lesenswert?

Marco H. schrieb:
> Lass es mit USB, da das Interface nur mit wenigen Programmen laufen wird
> und da USB nicht sonderlich stabil ist.

Das wäre eine Überlegung für ein späteres Update. Vorerst werde ich aber 
versuchen das mit USB umzusetzen.

Chris K. schrieb:
> Hmm das entec opendmx basiert doch ganz einfach auf einem ftdi Chip.
> Läuft mit madrix, lynx, dmx control etc. Also arduino nehmen, da ist ein
> ftdi drauf.

Ich werde die Schaltung nicht mit Arduino, sonder einfach mit 
Mikrocontroller und Zubehör auf einer Platine bauen.
Mir ist noch nicht ganz klar, ob ein FTDI Chip für die Kompatibilität 
mit der DMX-PC-Software notwendig ist. Oder kann ich auch einen anderen 
USB-UART Konverter verwenden?

von Marco H. (damarco)


Lesenswert?

Der FTDI hat den Vorteil das du einen schnellen und funktionierenden 
Treiber mit bekommst. Der auch auf fast alle gängigen OS läuft. Wie der 
sich nachher meldet kann man bei den Chips Programmieren und USB ist es 
Wurst lädt ja sowie so den FTDI Treiber.

Aber die Wirtschaftlichen Gedanken hat die Firma ja schon gezeigt, wenn 
sie für neuere OS einfach keinen Treiber mehr liefert für alte Chips. 
Das muss man dabei bedenken das die Hardware möglicherweise wegen $ 
später mit neuen OS nicht mehr betrieben werden kann.

Man kann natürlich auch die HIDs benutzen aber die Einschränkungen sind 
schon extrem gerade bei einen Stream wie DMX. Es funktioniert aber 
einige Interface arbeiten mit den Atmel USB Stack der ja auch nur die 
HIDs benutzt.

Schau dir mal das LUFA Projekt an ... da sollte was brauchbar sein.

http://www.fourwalledcubicle.com/LUFA.php

Ich habe sie für einen 32U4 bootloader benutzt.

: Bearbeitet durch User
von Lutz (Gast)


Lesenswert?

Zugegeben die Antwort kommt spät, aber vielleicht hilft es ja doch noch 
jemandem:

Die DMX-Programme geben auch Artnet bzw. (S)ACN Daten aus.
Für Artnet gibt es haufenweise Lösungen für den ESP8266
z.B.:
https://github.com/mtongnz/ESP8266_ArtNetNode_v2
https://github.com/forkineye/ESPixelStick

https://github.com/search?utf8=%E2%9C%93&q=esp8266+ws2812+artnet

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.