7-Segment-Anzeige an RS232?

Mar 24, 2009 19 Replies

Hallo,



gibt es eine einfache Möglichkeit, ein einziges 7-Segment-Element an USB zu betreiben? Um das "USB-Problem" schonmal zu erschlagen, habe ich an einen USB zu RS232-Adapter gedacht, aber wie bekomme ich die



7-Segment-Anzeige daran angesteuert?

Danke im Voraus



CU



Manuel


www.jetzt-abwaehlen.de Wählen gehen 2009! Ein Aufruf etwas zu ändern. Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern. Nur leider hat er vergessen, rechtzeitig damit aufzuhören... Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!

RS232-Wandler ist schonmal eher ungünstig, nimm lieber einen USB-Parallelport-Wandler und simuliere einen Drucker, vielleicht reicht es schon Strobe mit ACK zu brücken und die Statusleitungen auf korrekte Pegel zu legen[1]. Dann sollte ein 74HC574, der von Strobe getaktet wird ausreichen. Dann ein einzelnes Byte auf den Druckerport schreiben. (Mit "echo -ne \0147 > /dev/usblp0" zum Beispiel.)

Leider lassen sich die Datenbits bei USB-Parallel-Wandlern nicht einzeln setzen[2].

Wenn Du es gleich richtig machen möchtest, empfehle ich Dir den AVR-USB-Stack für AVR-Microcontroller:

formatting link

Gruß Henning

[1] Bei "echten" Parallelports und Printservern hat es zumindest immer gereicht:
formatting link
[2] Ausser beim legendären USS720, der meldet sich bei Verwendung von uss720.ko als /dev/parportX an und lässt sich dementprechend ansprechen.

Manuel Reimer schrieb:

  1. USB-Parallel-Adapter, daran ein Latch, und dann das passende Bitmuster darauf "drucken". Für mehr Stellen nimmst Du 8 Schieberegister (für jedes Bit eines, Clock an Strobe anschließen).
  2. Für weitergehende Basteleien empfielt sich ein FTDI2232. Der kann auch direkt i2c, SPI, rs232, Bit-banging, CPU-Adress-Datenbus-Emulation etc etc. Kann man auch fertig kaufen (bei ebay nach Signalyzer schauen).
Mit freundlichen Grüßen Frank-Christian Krügel

Ehrlich gesagt lese ich jetzt zum ersten Mal, dass die USB-Parallelport-Wandler, die ja "nur" Drucker können und keinen Zugriff auf die einzelnen Datenleitungen zulassen, für Bastelzwecke nutzen kann.

Durch Schreiben eines ganzen Bytes werden wohl alle Bits auf einmal gesetzt, was ja kein Fehler ist. So könnte ich auf einem Schlag eine ganze Zahl "rausschreiben".

Bleiben die Bytes dann auf diesem Status? Wenn dem so ist, dann bräuchte man doch nur noch ein paar Widerständen und direkt ran mit dem Display. Da ein Bit über bleibt, könnte ich den Punkt an einem 7-Segment-Display dann gleich mit ansprechen.

Es soll nicht "gleich richtig" sonder "möglichst simpel" sein, denn ich kenne mich mit Mikrocontrollern weder aus, noch wüsste ich, wie ich ein fertiges Programm da reingespielt bekomme.

Was ist eigentlich das da:

formatting link
Dort steht als Anwendungsgebiet auch "Scanner" und ich zweifle ehrlich gesagt daran, dass Scanner sich mit diesem "usblp" zufrieden geben. Das Ding müsste also mehr können. Frage ist nur: Gibt es Linux-Treiber.

CU

Manuel

www.jetzt-abwaehlen.de Wählen gehen 2009! Ein Aufruf etwas zu ändern. Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern. Nur leider hat er vergessen, rechtzeitig damit aufzuhören... Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!

Äußerst eingeschränkt, z.B. nicht für Programmieradapter o.ä., aber für Deinen Anwendungsfall gerade noch.

Ja, genau.

Darauf würde ich mich nicht verlassen, daher das Latch.

Ja, das könntest Du.

Das halte ich für eine Fehlinformation.

Da steht "Logilink" drauf, das wird wohl nur ein Karo-Einfach-Adapter sein, der nur Druckerprotokoll spricht.

Gruß Henning

OK.

Leider hat das Datenblatt kein Anwendungsbeispiel.

Die Datenleitungen vom Parallelport kommen auf D0 bis D7. Strobe kommt dann wohl auf "CP" (Clock Input). GND kommt auf GND und VCC auf +5V (der Einfachkeit halber vom USB). Bleibt ein Pin (OE), den ich, weil mir unbekannt, einfach frei hängen lassen würde.

Die Bits fallen dann aus Q0 bis Q7 raus. Kann ich mit Vorwiderständen da direkt auf die LEDs gehen? Ich würde einen LED-Strom von 10mA probieren.

Was hat es mit der Brücke zwischen Strobe und ACK (am Wandler) auf sich? Ich würde auf jedem Fall erstmal ganz ohne Brücken probieren. Vielleicht arbeitet der Wandler auch so. Was hat es in deinem Schaltplan mit den ganzen Z-Dioden auf sich? Überspannungsschutz? Auch nötig, wenn ich den Wandler fest an meiner "Bastelplatine" gesteckt lasse?

CU

Manuel

www.jetzt-abwaehlen.de Wählen gehen 2009! Ein Aufruf etwas zu ändern. Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern. Nur leider hat er vergessen, rechtzeitig damit aufzuhören... Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!

Du hast doch anscheinend das Datenblatt, da steht drin, wofür der gut ist: Output Enable. Der muss aktiv sein, damit die LEDs leuchten.

HC sollte das grundsätzlich können.

Man muss nur den IC-Gesamtstrom im Auge behalten.

Damit signalisiert der Drucker, dass das Byte gedruckt (oder zumindest angekommen) ist, wenn das nicht kommt, druckt das Betriebssystem nicht weiter.

Musst Du selbst wissen.

Pegelwandlung von 5V auf 3,3V. Brauchst Du nicht.

Gruß Henning

Ergänzung wg. HC-Logik: OE sollte dann natürlich nicht frei in der Luft hängen, sondern muss auf Vcc gelegt werden.

Julien

Manuel Reimer schrieb:

Schau doch mal hier rein:

formatting link

Ich würde mich im Übrigen nicht auf die 10mA an D0-D7 verlassen.

Peter

Julien Thomas schrieb:

[74HC574]

Vss(GND)! Der Anschluss heißt /OE.

Gruß Dieter

Es ging um einen USB-Parallel-Wandler, wie der meistens verbaute PL2305, der hat einen Ausgangswiderstand von 28 Ohm:

formatting link

Aber wir haben ja schon gesagt, dass ein zusätzliches Latch wie 74HC574 ganz sinnvoll wäre.

Gruß Henning

Stimmt. Habe ich doch glatt überlesen. Der Pin gehört auf GND um die Ausgänge zu aktivieren.

Im Datenblatt zum 74HC574 habe ich dazu nichts gefunden. Hier:

formatting link
ist von 70mA die Rede. Wenn man noch etwas Eigenverbrauch für den IC berücksichtigt und alle 8 Ausgänge mit LEDs bestücken will, dann wird das mehr als knapp. Da werden wohl Transistoren an den Ausgängen fällig...

Ich schlage BC547A vor. E auf GND, B mit 4,7kOhm auf den Ausgang vom

74HC574 und an C fällt dann der neue Ausgang für die LED an?

OK, danke für den Hinweis. Dann kommt die Brücke natürlich rein.

CU

Manuel

www.jetzt-abwaehlen.de Wählen gehen 2009! Ein Aufruf etwas zu ändern. Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern. Nur leider hat er vergessen, rechtzeitig damit aufzuhören... Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!

Manuel Reimer schrieb:

ULN2803

Gruß Dieter

Wenn ich das richtig verstehe, dann schaltet der IC gegen GND. Pin 10 kann ich mir theoretisch schenken, da ich keine Relais treibe und somit keine Freilaufdioden benötige. Wenn es sich vom Platinenlayout her anbietet, dann hänge ich ihn dennoch auf VCC. Vorwiderstände für die Eingänge hat der IC wohl bereits und kann direkt an den 74HC574.

Demnach brauche ich eine 7-Segment-Anzeige mit gemeinsamer Anode und schalte dann GND. Invertiert der ULN2803 das Signal?

CU

Manuel

www.jetzt-abwaehlen.de Wählen gehen 2009! Ein Aufruf etwas zu ändern. Der Mensch erfand Maschinen, um sich damit die Arbeit zu erleichtern. Nur leider hat er vergessen, rechtzeitig damit aufzuhören... Beiträge mit *X-No-Html Header* kann ich weder lesen, noch beantworten!

Manuel Reimer schrieb:

Ja, da stecken acht Darlingtontransistoren in Emitterschaltung drin.

Gruß Dieter

Wenn es einen Groschen billiger sein soll geht auch der alte ULN2003. Nur 7 Ausgaenge, aber reicht hier ja. Mit etwas Glueck gibt es den sogar beim lokalen Elektronik-Krauter. Wobei letztere zumindest bei uns ausgestorben sind :-(

Gruesse, Joerg http://www.analogconsultants.com/ "gmail" domain blocked because of excessive spam. Use another domain or send PM.

Hi Manuel,

ziemlich sicher nicht. Windoof zumindest unterhält sich im Hintergrund immer wieder mal mit den angeschlossenen Druckern (p&p will ja mitbekommen, wenn was angeschlossen wird)

Spannend. Gelegentlich findet man in der Ebucht auch noch einen Pico-Plug. Den könnte man dann über den Umweg USB-Bluetooth eventuell davon überzeugen... Aber ohne Gewähr...

Marte

Ein ATiny2313 und eine kleine Handvoll Hühnerfutter können zusammen mit der richtigen Software das Problem sehr leicht und billig lösen.

Da brauchst du dann auch wieder irgendwelche Logik dran oder halt einen µC. Dieser Umweg bringt also letztlich garnix.

Wennschon Kauf-Adapter, dann USB-LPT-Adapter. Damit ist es möglich, eine (low current) Siebensegmentanzeige direkt anzusteuern.

Dieter Wiedmann schrieb:

[Datenblatt guck'] ...stimmt!

Gruß,

Julien

Hallo Manuel,

Manuel Reimer schrieb:

Ich würde da so was wie ein Handykabel nehmen (USB-RS232 Wandler eingebaut, meist Prolific oder FTDI Chipsatz, passende Treiber gibts meist dazu auf CD)... RX und TX an einen Mikrocontroller (z.B. Attiny2313), ein kleines Programm dazu schreiben welches abhängig von den Daten die im UART ankommen die Ausgänge für die 7-Segment-Anzeige steuert und gut ist es... Je nach Größe des Displays (Stromaufnahme) muss eventuell noch je Segment ein Treibertransistor oder ein Transistorarray her...

So ein Progrämmchen kann man ganz gut z.B. in BASCOM schreiben (kostenlose Test-/Demoversion genügt für das bisschen Code).

Der Treiber des Handy-Kabels emuliert einen COM-Port, den man dann ganz normal mit Software ansprechen kann (Daten senden und empfangen).

Kosten ca. 10 Euronen für das gesamte Projekt (bei einfachem Display)...

Viele Grüße

Kai

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required