Seite 1 von 1

Einfacher Dimmer vom PC aus

Verfasst: 01.05.2020, 09:55
von SCDMX
Hallo,
ich bin neu hier, und brauche bitte etwas Unterstützung bei DMX-programmieren.
Ich würde gerne eine Lichtsteuerung für eine Modelleisenbahn realisieren, ganz einfach, ein Kanal dimmen. Ansteuerung vom PC, Scheinwerfer gekauft.

Meine Kenntnisse:
Ich habe viel mit VB6 programmiert, auch mit Pegelumsetzer auf RS485, für Industriesteuerungen.
Deshalb würde ich gerne VB6 und MSComm1 verwenden.
Außerdem würde ich - aus Aufwandsgründen - gerne auf Adapter verzichten wollen, die RS232 über ATMEL auf DMX-RS485 umsetzen. Sondern einfach nur VB6 und MSComm1, und ohne spezielle DLL.

Ich habe bisher verstanden:
Baud: 250.000 (virtuelle RS232 über USB)
Protokoll: DMX, etwas "speziell"
Ich habe nach langem Suchen auch ein Snippet gefunden:

MSComm1.CommPort = 3
MSComm1.Settings = "115200,N,8,1"
MSComm1.PortOpen = True
MSComm1.RThreshold = 1
MSComm1.Output = "L" '// ASCII = 76
MSComm1.Output = Chr(a)
MSComm1.Output = Chr(VScroll1.Value)

Das "a" steht für den DMX-Kanal und der Wert aus VScroll1 für den Dimmerwert.

Alles klar, aber die Geschwindigkeit ist doch falsch, und 2 Stop-Bits sind notwendig?
Und RThreshold brauche ich vermutlich nicht.
Und das L bildet das Start-Timing nach? L = 4C = 0100 1100 ?

Wahrscheinlich gibt es jemand, der mir sofort sagen kann, ob das so funktionieren kann oder nicht.
Und auch wie das Snippet aussehen muss. - Vielen Dank!

Gruss an alle im Forum!
SCDMX

Re: Einfacher Dimmer vom PC aus

Verfasst: 03.05.2020, 09:45
von SCDMX
Hallo,
irgendwie komme ich nicht weiter...

Was ich im www immer noch suche ist eine Möglichkeit um
vom PC über USB und Pegelwandler RS485 zu senden
mit visual basic 6
direkt die DMX - Signale zu erzeugen,
ohne einen externen ATMEL
um einen einzigen Kanal zu dimmen.

Über API kann man ja z. B. die Geschwindigkeit auf 250 kb einstellen,
und auch OUT auf 0 oder 1 zu legen, für Ruhe- und Start-Bit.
Das selbst rauszufinden ist ein ziemlicher Aufwand.
Gibt es eine DLL die das alles kann?
Wahrscheinlich muss ich doch einen externen ATMEL verwenden.

Wenn Jemand einen Hinweis hat: Danke! Jede Idee ist willkommen.

Gruß SCDMX