Daten über den Druckerport senden

Hallo!

Fals Rainer den Artikel ließt, dann erstmal danke für den letzten Tip mit der Ampel. Es hat wunderbar funktioniert.

Nun möchte ich alles über den Druckerport steuern. Ich habe mir die INPOUT32.dll runtergeladen. Damit kann ich ja jeden Ausgang ansteuern. Das hat auch funktioniert, jedenfals für eine Ampel. Nun habe ich aber mehrere Ampeln die ich ansteuern will. Gibt es eine Möglichkeit über einen Ausgang eine Adresse zu senden (z.B. an einen Microcontroler)und über die anderen Ausgänge die Schaltzustände oder muß ich einen Bereich festlegen und dann einen Controler so programmieren das es funktioniert oder geht alles nur über ein Interface.
Ich bin für jeden Lösungsvorschlag offen… hauptsache es ist nicht so teuer :smile:))

Danke
Marcus

Hallo Marcus,

Zuerst solltest du mal klären, wievile Ampeln es werden sollen.

Der Druckerport hat 8 Bit.

Mit 3 Bits für die Ampel (Jedes Bit für eine Lampe) hast du noch 5 Bit für die Adresse, das gibt dann maximal 32 Ampeln.

Mit 2 Bits für den Zustands der Ampel (Aus, Rot, Gelb und Grün), hast du noch 6 Bit für die Adresse, also 64 Ampeln maximal. Allerdings kannst du dann nicht gleichzeiti Rot + Gelb ansteuern.

Das ganze lässt sich mit ein paar einfachen Logik-ICs bewerkstelligen Flip-Flops und Decoder.

Aber zuerst solltest du festlegen, wievile es sein müssen.

MfG Peter(TOO)

Hallo Marcus,

bei Conrad habe ich zu dem Thema das
http://www1.conrad.de/scripts/wgate/zcop_b2c/~flNlc3…
gefunden. Das sind aber auch nur 16 Kanäle. Wie man 128 Kanäle (42 Ampeln) realisieren könnte wüßte ich theoretisch, praktisch könnte ich das nicht bauen. :smile: Eventuell ist es mit ausreichend Ahnung sinnvoller, mit einem Microcontroller zu arbeiten. Davon habe ich gar keine Ahnung, dafür ist das hier aber wohl auch das falsche Brett. Du hast ein Hardwareproblem. :smile:

Gruß, Rainer

Hallo Peter!

Insgesamt sind es 50 Ampeln. Es sind 20 Ampeln für normale Kreuzungen, nochmal 20 dazu (insgesamt 40) - aber die zweiten zwanzig kann ich noch wahlweise mit 10 Linksabbiegerampeln versehen, dann kommen wir auf 50.
Das ganze läuft über 10 Timer insgesamt. Da bleibt wohl nur die Variante mit den IC’s da bei allen eine ROT - GELB Phase dabei ist.

Marcus

Hallo Rainer,

Wie man 128 Kanäle
(42 Ampeln) realisieren könnte wüßte ich theoretisch,
praktisch könnte ich das nicht bauen. :smile: Eventuell ist es mit
ausreichend Ahnung sinnvoller, mit einem Microcontroller zu
arbeiten. Davon habe ich gar keine Ahnung, dafür ist das hier
aber wohl auch das falsche Brett. Du hast ein Hardwareproblem.

Naja, wenn er dazu noch einen MicroCOntroller einsetzt, brauch er den PC eigentlich gar nicht mehr …

MfG Peter(TOO)

Hallo Marcus,

Insgesamt sind es 50 Ampeln. Es sind 20 Ampeln für normale
Kreuzungen, nochmal 20 dazu (insgesamt 40) - aber die zweiten
zwanzig kann ich noch wahlweise mit 10 Linksabbiegerampeln
versehen, dann kommen wir auf 50.
Das ganze läuft über 10 Timer insgesamt. Da bleibt wohl nur
die Variante mit den IC’s da bei allen eine ROT - GELB Phase
dabei ist.

Den geringsten Hardware-Aufwand hast du, wenn du Schieberegister verwendest, wie z.B. den 74HC595.

So Grob:
G (Pin 13) legst du alle auf Masse.
RCK (Pin 12) kannst du alle mit Autofeed der Paralell-Schnittstelle (Pin 14) verbinden.
Alle SCK (Pin 11) mit Strobe der Paralell-Schnittstelle (Pin 1) verbinden.
Alle SCLR (Pin 10) kannst du an Init der Paralell-Schnittstelle (Pin 16) anschliessen.

Bei den ersten acht 74HC595 werded SER (Pin 14) mit jeweil D0 bis D7 der Paralell-Schnittstelle (Pins 2 bis 8) angeschlossen.

Damit kannst du nun 8x8 = 64 LEDs ansteuern.

Wenn das nicht reicht, kannst du die nächsten acht 74HC595 gleich wie die ersten 8 anschliessen, nur dass du bei diesen SER mit Q’H (Pin 9) der ersten 8 ICs verbindest…

Die Daten musst du dann seriell ausgeben:

  1. Daten an D0…D7 anlegen.
  2. Strobe auf 0 und dann wieder auf 1 schalten.
    bei 64 LEDs 8x wiederholen, bei 128 16x …
  3. Autofeed auf 1 dann wieder auf 0 schalten, damit die Daten an den AUgangsregistern ausgegeben werden.

Wenn deine LEDs