PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Taster per Parallelport abfragen



paramedic
08.12.2004, 10:29
Hallo,

kleine Anfängerfrage:
Ich möchte 8 verschiedene Taster per Parallelport abfragen. Habe schon den Tip mit der Tastatur gelesen, aber wenn ein Taster gedrückt wird (und bleibt), darf das Signal trotzdem nur einmal kommen und nicht wie bei der Tastatur permanent.

Brauche ich dafür einen Controller ? Oder hat jemand einen Bauplan oder ähnliches dafür ? Hab leider im archiv nix dazu gefunden, und bei google bin ich auch nicht so recht schlau geworden.

Vielen Dank,
Swen

Bomberman
08.12.2004, 11:00
Hallo paramedic,

Du kannst ein eingehendes Signal mit einem SR-Flipflop so lange halten, bis das Flipflop zurückgesetzt wird.
Das geht auch ohne einen Controller, denn die Teile bekommt man als IC. Leider weiß ich die Nummer von den Dingern nicht, aber die läßt sich sicherlich leicht herausfinden.

Ciao

Patrick

paramedic
08.12.2004, 11:23
Hi bomberman,

danke.
OK, die IC's habe ich bei Conrad gefunden, aber wie klemme ich die nun zwischen Tastatur und Rechner ?

Grüße,
Swen

RCO
08.12.2004, 11:40
Nein du kannst die Parallelschnittstelle schon verwenden, hast 5 Inputs, eigentlich 8, aber 3 sind I/os, ich weiß nicht wie man die als inouts macht, aber du könntest z.B. die Taster in Binärcode umwandeln, dann könntest du mit 5 Eingängen 31 Schalter anschließen, du musst halt dafür sorgen, dass ein Gedrückter Taster nur kurz einen Impuls sendet, z.B. durch einen kondensator, der danach wieder entladen wird. Und du kannst ahlt nur einen Taster verwenden, aber was genau hast du eigentlich vor, ich will ja nicht sagen, was es alles gibt, sondern nach möglichkeit, was für deinen Fall das beste ist.

MFg Moritz

paramedic
08.12.2004, 12:05
Es geht um eine Maschine für Verhaltenstests, die ich für meine Doktorarbeit brauche.
https://www.roboternetz.de/phpBB2/viewtopic.php?t=4985&highlight=

Die Motorsteuerung ist nun schon abgedeckt, da hilft mir jemand.

Um zu registrieren, wann die Versuchstiere von dem Balken hüpfen, möchte ich unten eine kleine Platte plazieren, die auf einem Taster liegt.
Wenn das Tier darauf springt, wird ein Signal an den PC gesendet, der dann den Zeitpunkt speichert. Da aber parallel 8 Tiere dort drauf stehen, muss ich also 8 individuelle Zeiten abnehmen können.

Über den Parallelport wird aber auch schon der Schrittmotor gesteuert, sodass nicht mehr alle Leitungen zur Verfügung stehen. Daher dachte ich, die lösung mit der ausgemusterten Tastatur ist nicht so schlecht. Problem aber ist eben das dauerhafte Senden des Signals, wenn die Taste gedrückt bleibt.

Grüße,
Swen

RCO
08.12.2004, 12:36
Ach der bist du ;-), ja also würde ein kurzer Impuls reichen, ein Flip-Flop bringt da wohl nix, es entprellt ja quasi den Taster. Das Problem wird sein, dass ich jedenfalls nicht weiß, wie man alle 8 Inputs des Parallelports aktiviert, ich kriegs nur mit 5 hin. Du könntest natürlich auch alles über eine zwite Serielle Schnittstelle und einen uC laufen lassen, sollte kein Problem sein.
Wenn du den Parallelport nehmen willst, dann könntest du wie gesagt über einen Kondensator einen Impuls senden. Über einen Binäkodierer, kannst du halt aus 8 Tasten Binäre Zahlen machen (4 Bit). Das Problem könnte halt auftreten, wenn zwei IMpulse zeitlich sehr nah hintereinder quasi gleichzeitig gedrückt werden, dann könnte es problematisch werden.

MFG Moritz

paramedic
08.12.2004, 23:39
Hallo,

>Du könntest natürlich auch alles über eine zwite Serielle Schnittstelle und >einen uC laufen lassen, sollte kein Problem sein.

Brauche ich wirklich einen Mikrocontroller,wenn ich das über die serielle Schnittstelle machen würde ? Welcher wäre zu empfehlen ?

> einen Binäkodierer, kannst du halt aus 8 Tasten Binäre Zahlen machen
>(4 Bit). Das Problem könnte halt auftreten, wenn zwei IMpulse zeitlich
>sehr nah hintereinder quasi gleichzeitig gedrückt werden,

Welche Zeitversetzung muss da mindestens bestehen ? Werden Signale, die eine halbe Sekunde getrennt sind, als "verschieden" erkannt ?


Grüße,
Swen

RCO
08.12.2004, 23:56
Also du brauchst halt nicht umbedingt eine 2. serielle schnittstelle und einen uC zu benutzen, wenn die Kodierung funktionieren würde.
Wie dicht die Impulse aneinadnerliegen können kann ich nciht sagen, muss man halt mal ausprobiern mit Delphi oder VB oder C oder so. Ich denke, dass eine halbe sekunde reichen könnte, ich weiß leider nicht wie hoch die Abfrageraten sind, oder ob sich da ein Interrupt installieren lässt.
Man kann auch bestimmt die Ports die als Eingang/Ausgang genutzt werden nutzbar machen, dann wäre es perfekt, du hättest 8, ich habs halt nicht hinbekommen, vielleicht geht das mit VB einfach, kann ich dir leider aber nciht sagen. Mach dich mal schlau ;-)

MFG Moritz