www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik (DMX)-Eigenbau-8-Kanal-Dimmer mit Winamp steuern


Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich glaube hier richtig zu sein und hoffe das mir jemand hilft bei
meinem Projekt. Ich habe für meinen Sohn und für unsere Gartenpartys
ein kleines Lichteffektgerät gebaut. 8x60 Watt (bitte nicht lachen), 8
Kanäle. Gesteuert werden die Lampen über einen PIC 16F877. Der hat so
an die 80 Lauflichtprogramme und realisiert in einem anderen Modus über
seine 8 AD-Wandler eine 8-Kanallichtorgel. Alle 8-Kanäle sind über
Phasenanschnittsteuerung dimmbar.

Nun mein Problem:
Ich möchte dieses Gerät nun so erweitern, dass Winamp über ein
geeignetes Plugin (DMX?) dieses Gerät steuert. Winamp soll entsprechend
der Lautstärke und der Frequenz die Lampen ansteuern (falls das geht)
oder irgendwie eine Datei abarbeiten in der die Lichtinformationen
stehen. Die zweite Variante wäre aber nicht so doll, da ich wohl keine
Lust haben werde, erst für jeden Titel eine Steuerdatei zu editieren.

Ich habe nun überhaupt keinen Plan, was das Winamp Plugin für Daten
sendet und wie diese in den PIC kommen. Am liebsten wäre mir die COM.
Die parallele würde aber auch gehen. Falls nur DMX-Karten angesteuert
werden, wäre das auch noch eine Überlegung wert, ich denke aber, dass
das mit Kanonen auf Spatzen geschossen wäre. Das Gerät soll ja nur im
Zimmer bzw. im Partyzelt laufen.

Danke schon mal für eure Hilfe.

Gruß
Sven

Autor: Jürgen Berger (hicom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo Sven,
(ohne Bewertung) vieleicht könnte das hier etwas für dich sein:
http://www.winamp.com/skins/details.php?id=139289

Gruß
Jürgen

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hatte ich schon mal installiert. Ich komme damit aber leider nicht
klar. Und es ist dort auch nirgens beschrieben, was für Daten aus
welcher Schnittstelle kommen. Das muß ich ja wissen, damit ich die
Bytes im uC auswerten kann. Das Plugin gibt scheinbar seine Daten auf
der Parallelen Schnittstelle aus. Wenn ich nur wüsste was da raus
kommt, dann könnte ich mich ja ans programmieren des PICs machen.

Sven

Autor: Jürgen Berger (hicom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auch schon hier http://users.skynet.be/kristofnys/ geguckt?

Autor: Mark Hämmerling (haemi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter Linux kannst Du mit DMX4Linux und XMMS (Plugin ist im
DMX4Linux-Paket enthalten) sowas machen. Als DMX-Ausgang kannst Du eine
ganz simple ISA (oder PCI) RS232-Karte nehmen. Mußt nur einen anderen
Quarz einlöten, damit Du 250kbps hinbekommst. Hab das schon gemacht,
und steuere meinen Dimmer bis zum heutigen Tag mit diesem äußerst
simplen DMX-Interface. DMX im µC implementieren ist trivial. Der
Empfangs-INT braucht höchste Priorität, um bei 250kbps nix zu
verpassen.

Den Daemon, der die Daten auf die UART schickt, habe ich noch etwas
verbessert. Falls Du an der Version Interesse hast, oder Fragen bzgl.
des Quarzes, meld Dich nochmal bei mir.

Mark

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin mir jetzt nicht ganz sicher, ob ihr mich richtig versteht. Mein
Gerät soll ja die Daten empfangen und diese dann an seine 8 eingebauten
Dimmer geben. Ich dachte, dass Winamp diese Daten an mein Gerät senden
kann. Eventuell liege ich hier falsch, aber ich dachte, dass das Winamp
Plugin in Abhängigkeit von der Musik welches Winamp abspielt Daten an
mein Gerät senden kann. Mein Gerät soll diese dann nur noch anzeigen.
Mir fehlt aber die Info, was für Daten von Winamp gesendet werden. Den
Ablauf dachte ich wie folgt:

- Winamp spielt Musik und sendet Daten über PAR oder COM
- Mein uC empfängt diese Daten
- mein uC stellt die 8 Dimmer entsprechend der emfangenen Daten ein

Wie gesagt, eventuell unterliege ich auch einem Irrtum, dass das Plugin
so nicht arbeitet, dann wäre es gut wenn mir jemand noch einen Tip geben
könnte, wie man sowas umsetzt. Danke.

Sven

PS: Mein Gerät kann bis jetzt noch kein DMX. Wäre auch nicht unbedingt
notwendig. Ich könnte die Daten auch direkt vom PAR oder COM bekommen
und einlesen. Ich weis halt nur nicht, was das Winampplugin sendet.

Autor: Mark Hämmerling (haemi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na DMX empfängst Du doch auch über UART. Und das Protokoll ist so simpel
wie nur möglich. Bei DMX4Linux + XMMS ist es so, daß die Analyse des
Frequenzspektrums im Plugin stattfindet, dann darüber ein paar Effekte
berechnet werden (verschiedene Effekte auswählbar) und das Ergebnis in
den DMX-Puffer geschrieben wird (Anzahl der Kanäle wählbar). Der
uart_dmxd (der Daemon, von dem ich sprach) liest dann den
DMX-Ausgabepuffer aus und überträgt ihn an die UART des PC. Den Umweg
muß man gehen, da diese Art der Ausgabe m.W. nicht direkt von den
DMX4Linux-Ausgabetreibern unterstützt wird.

Das Winamp-Plugin geht evtl. den Umweg über einen Treiber gar nicht und
gibt an der Schnittstelle direkt Daten aus, mit denen irgendein
DMX-Dongle umgehen kann. Du könntest das Protokoll jenes Dongles in
Deinen Dimmer implementieren und die Daten so empfangen. DMX selbst
wäre dann besser, wenn Du evtl. mal "echtes" DMX-Equipment an Deinen
Dimmer anschließen willst.

Mark

Autor: Andreas Lang (andreas) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für Winamp gibt es ein Pluging, das zusammen mit DMXControl (Freeware)
und einem (beliebigen) Dongle DMX-Daten erzeugt. Damit kann man schon
einiges anstellen. Ein einfaches DMX-Dongle findet man hier:
http://www.tratek.de/.
Die 250 Kanal-Version habe ich hinsichtlich Layout mal etwas optimiert.
Bei interesse kann ich das Eagle-File ja mal posten (es kommen aber halt
 ein paar SMDs vor (nur Kondensatoren/Widerstände).

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na erst mal vielen Dank für eure Tipps. Ich denke damit komme ich erst
mal ein Stück weiter. In Bezug auf die Daten, die Winamp sendet stehe
ich aber irgendwie immer noch auf dem Schlauch. Was sendet denn Winamp
wenn zum Beispiel die 250Hz Frequenz einen bestimmten Pegel hat? Und
auf welchem DMX-Kanal sendet es dann was für einen Bytewert? Oder kann
man das alles mir der DMXControlsoftware anpassen? Dann müsste ich doch
aber trotzdem wissen was für Bytes Winamp an DMXControl sendet?
Irgendwie peil ich das noch nicht. Eventuell kann mir ja hier noch
jemand auf die Sprünge helfen.

Gruß
Sven

Ach ja, was ich auch noch nicht am DMX-Protokoll verstanden habe: Wenn
zum Beispiel Kanal 5 einen Wert ändern soll, was wird dann in den Bytes
für die Kanäle 1-4 übertragen? Eine 0? Oder müssen dann auch die
aktuellen Werte 1-4 neu übertragen werden? Fragen über Fragen....

Autor: Jürgen Berger (hicom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für DMX Grundlagen zu empfehlen:
www.dmx512-online.com

Gruß
Jürgen

Autor: Andreas Lang (andreas) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher Kanal für welchen Frequenzbereich zuständig ist, gibt man in der
Steuersoftware an. Bei DMX werden immer alle Kanaldaten übertragen, d.h.
wenn sich auf kanal 4 etwas ändert müssen zumindest die Kanäle 1-3 auch
übertragen werden (man kann aber nach einer beliebigen Anzahl Kanäle
abbrechen)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.