Tastatur emulator

Gast #256438
Lesenswert?

Hallo.

Ich bin gerade dabei ein kleines gerät zu bauen, dass in über den PS/2
anschluss an den PC anschließ(zwischen PC und Tastatur).
Das Gerät soll später Zahlen aus einem speicher einlesen und dann an
den PC sende (wie wenn die tasten normal gedrückt werden).
Wie schliess ich den Mikrocontroller (wahrscheinlich mega8) am besten
nun an besten an ? Soll ich ihn lieber zwischen PC und Keyborad machen,
sodass der Mega 8 die Tastenanschlägen einfach durchroutet.
Oder soll ich besser das Teil parallel anschließen ?

Gibt es dafür schon ein beispiel.
Das gerät soll ähnlich funktionieren wie ein Barcode-Scanner.

Gruß, Frank
Gast #256441
Lesenswert?

Hi,
Atmel(oder wars Microchip?) hat ein Dokument wo beschrieben wird wie
man  eine Tastatur an den µC anschließt. "Interfacing the PC AT
Keyboard"(DOC1235.pdf) solltest du dir mal ansehen.
MfG Alex
Gast #256445
Lesenswert?

ich habe mal so ne art key-spy(eigentlich nen hardware-makro-tool) mit
einem attiny2313 gebaut.

als externe bauteile waren nur ein 74hc4066(4 analogschalter) und 2
widerstaende noetig.

          | - |-- data in
  --data--
          | - |-- data out(+10k pullup)
mc
          | - |-- clk in
  --clk---
          | - |-- clk out(+10k pullup)

man kann dann entweder beide richtungen durchschalten und somit die
jeweiligen in und out verbinden, dann kann der mc "lauschen".
oder man schaltet nur die beiden in oder out durch, um mit tastatur
oder rechner zu kommunizieren.

ach ja, in=tastatur out=rechner.

falls das prinzip aufgrund meiner schlechten ascii-kuenste nicht klar
ist, einfach nochmal nachfragen.

gruss, bjoern.

ps: http://www.beyondlogic.org/keyboard/keybrd.htm hat mir sehr
weitergeholfen.
Gast #256447
Lesenswert?

...was aber aufgrund der bidirektionalitaet nicht grade trivial ist.

hatte ich damals gar nicht in betracht gezogen, aber nochmal drueber
nachgedacht sollte man das mit 2 externen interrupts recht sauber
hinbekommen. werd ich das naechste mal wohl auch so machen. danke fuer
den denkanstoss.

gruss, bjoern.
#256449
Lesenswert?

so, jetzt als schoenes ascii-bildchen. man kann entweder alle schalter
schliessen, dann wird das signal einfach von tastatur zu rechner
durchgeschaltet, oder kann wahlweise beide in oder beide out
ausschalten, dann kann der controller mit der jeweils durchgeschalteten
seite reden und die andere bekommt nichts davon mit. auf der pc-seite
braucht man noch pullups, weil im idle-zustand ein high auf beiden
leitungen erwartet wird(open collector). auf tastaturseite sind die
pullups schon vorhanden.
geht aber wie vorher schon erwaehnt auch ohne den schalter, dann halt
mit mehr programmier und denkarbeit.

gruss, bjoern.

       data       clock
        |           |
        |           |
     .--o--.     .--o--.
     |     |     |     |
  \  o  \  o  \  o  \  o
   \     \     \     \
    \.    \.    \.    \.
     o     o     o     o
     |     |     |     |

   d_in  d_out  c_in  c_out

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
#256450
Lesenswert?

um jeden zweifel zu beseitigen(eigentlich aus langeweile):

       data       clock
        |           |
        |           |
     .--o--.     .--o--.
     |     |     |     |
     o     o     o     o
     |     |     |     |         tastatur <-> rechner
     |     |     |     |
     o     o     o     o
     |     |     |     |

   d_in  d_out  c_in  c_out


       data       clock
        |           |
        |           |
     .--o--.     .--o--.
     |     |     |     |
  \  o     o  \  o     o
   \       |   \       |         controller <-> rechner
    \.     |    \.     |
     o     o     o     o
     |     |     |     |

   d_in  d_out  c_in  c_out

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

gruss, bjoern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren