Forum: Mikrocontroller und Digitale Elektronik Selbstgebauter USB Taster aus Tastatur


von Peterchen (Gast)


Lesenswert?

Hallo liebe Leser,

ich habe eine hoffentlich einfach zu bewerkstelligende Aufgabe:

Ich habe ein in Java geschriebenes Messprogramm, dass zu einem 
bestimmten Zeitpunkt seine Messung starten soll. Um dies zu tun, kann 
ich eine Tastaturkonfiguration festlegen, z.B. Strg+Alt+P.

Drücke ich diese Tastenkombination, startet meine Messung. Dies 
funktioniert also bereits.

Jetzt möchte ich jedoch gern, dass über einen einfachen Taster (normally 
open) diese Kombination per USB an den PC geschickt wird und so die 
Messung startet.
Ich dachte da nach einiger Recherche hier im Forum an eine 
ausgeschlachtete USB Tastaturplatine. Leider muss ich zugeben, dass mein 
geringes Wissen über E-Technik hier seine Grenzen aufzeigt.


Kann mir jemand dabei helfen, wie ich ohne zusätzliche Windows Treiber 
und möglichst ohne µC eine Tastaturkombination über einen geschlossenen 
Kontakt per USB an den PC senden kann, so als würde ich diese 
Tastaturkombination direkt auf meiner Tastatur drücken?
Ein konkretes Beispiel ist sehr willkommen.


Vielen Dank für eure Unterstützung und Hilfe!

Peterchen

von Harald W. (wilhelms)


Lesenswert?

Peterchen schrieb:

> Jetzt möchte ich jedoch gern, dass über einen einfachen Taster (normally
> open) diese Kombination per USB an den PC geschickt wird und so die
> Messung startet.
> Ich dachte da nach einiger Recherche hier im Forum an eine
> ausgeschlachtete USB Tastaturplatine.
> Kann mir jemand dabei helfen, wie ich ohne zusätzliche Windows Treiber
> eine Tastaturkombination über einen geschlossenen
> Kontakt per USB an den PC senden kann, so als würde ich diese
> Tastaturkombination direkt auf meiner Tastatur drücken?

Nun Du könntest ja Deine ausgeschlachtete Tastatur anstatt einer
normalen anschliessen. Ich würde dann aber möglichst eine einzelne
Taste zumm Starten nehmen, wie z.B. die Raute-Taste. Du brauchst
dann nur Deinen Taster parallel zu dieser Taste anschliessen.
Gruss
Harald

von Stefan F. (sfrings)


Lesenswert?

Es gibt kleine Module für den Selbstbau von Tastaturen, Joysticks und 
Mäusen mit USB Anschluss. Ein Kollege hat damit schonmal eine 
Spielkonsole gebastelt, die Platine hatte er bei Ebay gefunden.

von Joachim .. (joachim_01)


Lesenswert?

Haste das Java-Programm selber geschrieben? Falls ja, kannste noch ne 
COM-Port Funktionalität über nen USB-Serial-Adapter mit einbauen? Denn 
dann könnteste einfach die DTR-Leitung des Ports mit nem Taster auf 
Masse ziehen. Nen Mikrocontroller braucht's dazu nicht.

von Mike J. (emjey)


Lesenswert?

Mit V-USB als HID Interface geht das ganz einfach, da brauchst du keine 
Treiber.
Der AVR wird als Tastatur erkannt und wenn du den Taster drückst wird 
dein Tastencode an den PC geschickt.

1-Key-Keyboard:
http://www.obdev.at/products/vusb/prjhid.html

http://blog.flipwork.nl/?x=entry:entry081009-142605

von Peterchen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Jungs,

danke für die wirklich schnellen Vorschläge.

Harald Wilhelms schrieb:
> Ich würde dann aber möglichst eine einzelne
> Taste zumm Starten nehmen, wie z.B. die Raute-Taste.

Das klappt leider nicht, weil dann der Nutzer diese Taste in dem Java 
Programm nicht mehr verwenden darf. Deshalb brauche ich eine möglichst 
exotische Kombination.

Eine Tastatur habe ich trotzdem schon mal zerlegt. Daran finden sich 27 
Goldkontakte, über die die Buchstaben an den PC gesendet werden. Ich 
hatte gehofft, dass ich durch kurzschließen einiger dieser Kontakte die 
entsprechende Kombination auslösen kann? Weiß jemand, ob dies so geht?

Wäre toll, wenn ich mir den Umweg über AVR sparen kann.


LG,
Peterchen

von TestX .. (xaos)


Lesenswert?

Peterchen schrieb:
> Eine Tastatur habe ich trotzdem schon mal zerlegt. Daran finden sich 27
> Goldkontakte, über die die Buchstaben an den PC gesendet werden. Ich
> hatte gehofft, dass ich durch kurzschließen einiger dieser Kontakte die
> entsprechende Kombination auslösen kann? Weiß jemand, ob dies so geht?

mit sehr viel reverse engineering ja..sonst nein

von Harald W. (wilhelms)


Lesenswert?

Peterchen schrieb:

>> Taste zumm Starten nehmen, wie z.B. die Raute-Taste.
>
> Das klappt leider nicht, weil dann der Nutzer diese Taste in dem Java
> Programm nicht mehr verwenden darf. Deshalb brauche ich eine möglichst
> exotische Kombination.

Ich halte die Rautetaste schon für etwas exotisch...

> Eine Tastatur habe ich trotzdem schon mal zerlegt. Daran finden sich 27
> Goldkontakte, über die die Buchstaben an den PC gesendet werden. Ich
> hatte gehofft, dass ich durch kurzschließen einiger dieser Kontakte die
> entsprechende Kombination auslösen kann? Weiß jemand, ob dies so geht?

Ja, Du musst die beiden Kontakte kurzschliessen, die z.B. unter der
Rautetaste liegen.
Gruss
Harald

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Peterchen schrieb:
> Ich
> hatte gehofft, dass ich durch kurzschließen einiger dieser Kontakte die
> entsprechende Kombination auslösen kann? Weiß jemand, ob dies so geht?

Das ist prinzipiell möglich. Du solltest Dir halt die zugehörige 
Tastaturfolie ansehen und herausfinden, welche Kontakte der Elektronik 
von Deinen gewünschten drei Tasten betätigt werden. Das geht durch 
scharfes hinsehen und schlimmstenfalls Nachmessen mit einem Messgerät. 
Du wirst allerdings drei Kontaktpaare gleichzeitig überbrücken müssen, 
da das ja auch drei getrennte Tasten auf der Tastatur sind. Wenn Du 
Glück hast, teilen sich einige der Tasten die gleiche Zeile resp. Spalte 
in der Tastaturmatrix, so daß Du weniger Kontakte benötigst, aber das 
ist nicht sehr wahrscheinlich.

von 123 (Gast)


Lesenswert?

wäre dier keywarrior nicht was dafür ?

gibt sicher auch noch andere die sowas fast fertig vertreiben.

USB / HID ist da das zauberwort.


oder die anwendung auf so exotische taten kodes wie F20 umbauen.

von Peterchen (Gast)


Lesenswert?

Soooo.... in der zerlegten Tastatur gibt es 2 Folien, die auf 
Tastendruck miteinander an verschiedenen Punkten kurzgeschlossen werden 
und so vermutlich eine HID Befehl an den PC senden. Habe nun die Bahnen 
für
Strg+Shift+M als Beispiel zurückverfolgt.
Von den 27 Kontakten an der oben abgebildeten Platine müssten 5 
miteinander gekoppelt werden (einer ist doppelt belegt).
Leider habe ich nur eine PS2 und muss mir erstmal eine olle 
Ramsch-USB-Tastatur besorgen, ob testen zu können, ob da auch was am PC 
ankommt (mein PC hat kein PS2 mehr). Ich halte euch auf dem Laufenden.

Prima wäre, wenn man dieses Matrixlayout zumindest für Standardtastatur 
irgendwo bekäme, so dass man sich die Labyrinthsuche zum entsprechenden 
Platinenkontakt sparen kann.

Grüße,
Peterchen

von Klaus (Gast)


Lesenswert?

Wie schon 123 schrieb

http://www.codemercs.com/37/?L=0 ist dein Freund. Da brauchst du kein 
Layout nachzuvollziehen.

MfG Klaus

von manchmal (Gast)


Lesenswert?

USB Taster gibt es unter der Bezeichnung "USB Smart Button" fertig zu 
kaufen.

von U.S.Boob (Gast)


Lesenswert?

Wenn ich es richtig verstehe soll der Computer weiterhin normal per 
Maus/Tastatur bedienbar bleiben, mit einem zusätzlichen per USB 
angeschlossenen Kontakt, der die Messung startet.

Wieso stattest du den Rechner nicht mit einer 2-Knopf-Maus aus.
Dann schließt du eine weitere Maus an, entfernst den Bewegungssensor und 
benutzt den mittleren Knopf zur Messung.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Peterchen schrieb:
> Prima wäre, wenn man dieses Matrixlayout zumindest für Standardtastatur
> irgendwo bekäme, so dass man sich die Labyrinthsuche zum entsprechenden
> Platinenkontakt sparen kann.

Das gibt es nicht, da die Anordnung der Tasten in der Matrix jedem 
Tastaturhersteller selbst überlassen bleibt. Die "Labyrinthsuche" musst 
Du schon selbst durchführen.

von Michael U. (amiga)


Lesenswert?

Hallo,

dauert doch normalerweise keine Stunde das alles rauszufinden.

Tastatur zerlegen, Platine abbauen und mit Filzstift Punkt auf Platine 
und Folie machen, wo man mit dem Abzählen der Kontakt beginnen will.

Auf der Folie die Kontakte der gesuchten Tasten mit Filzstift markieren, 
damit man nicht lange suchen muß-

Folienkram mit den Leiterbahnen auf den Tisch, Durchgangsprüfer (am 
Besten mit Piep bei Durchgang) genommen. Eine Spitze auf Kontakt 1 der 
gesuchten Taste, mit der anderen über die Anschlußleiste gerutscht, bis 
es piept.
Abzählen, welcher Anschluß es genau ist.
Mit den anderen Tastenkontakten genauso, dann hat man eine Liste etwa in 
der Art:
Strg 6 12
Alt  9 16
P    3 7

Taster mit 3 Kontakten suchen oder beschaffen oder 5V Relais mit 3 
Kontakten oder 3 Stück DIL-Relais mit einen Kontakt und einen Taster mit 
einem Kontakt.

Beim Taster Kontakte passend mit der Platine verbinden und fertig.
Beim Relais Kontakte mit der Platine verbinden, beliebigen Taster 
nehmen, um das Relais zu schalten (5V wegen USB-Spannung, die ist ja an 
der Platine vorhanden).

Bei DIL-Relias eben Kontakte verbinden, alle Spulen parallel und dann 
wie bei einem Relais mit Taster schalten.

Wenn es irgendwo konkrete Fragen (Messgerät, Relaistyp, Tastertyp, 
Beschaffung usw.) gibt, eben hier fragen.

Man kann die einfachsten Sachen auch solange kompliziert reden, bis man 
den Wald vor lauter Bäumen nicht mehr sieht.

Gruß aus Berlin
Michael

von Michael (Gast)


Lesenswert?

Peterchen schrieb:
> Deshalb brauche ich eine möglichst exotische Kombination.
Dann nimm doch irgendwas im Bereich F13 .. F20. Die sind IMHO auf kaum 
einer Tastatur belegt.
http://www.strout.net/info/dvorak/original.pke

von Martin M. (capiman)


Lesenswert?

Ich weiß nicht, ob es oben vielleicht schon explizit angesprochen wurde:
Es könnte sein, dass die Tasten hintereinander gedrückt und auch 
losgelassen werden müssen.

Also zuerst "Strg", dann ein gewisse Zeit warten,
dann "Alt", dann wieder warten, dann "p".

Vielleicht ebenso beim loslassen.

Sonst kommt es evt. zu falschen Tastenkombinationen...
Ich vermute daher, dass 1 Taster mit 3 Schalter nicht die Lösung ist.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Das Zauberwort lautet Teensy mit passendem Programm.

Zum Beispiel: http://www.pjrc.com/teensy/usb_keyboard.html

Oder Goole-Suche nach "teensy keyboard".

von Sebastian-L (Gast)


Lesenswert?

such mal nach microsoft keyboard layout creator

von Peterchen (Gast)


Angehängte Dateien:

Lesenswert?

Wie versprochen hier erste Ergebnisse der Tests.

Ich habe jetzt verschiedene Kontakte auf der ausgebauten Tastaturplatine 
zusammengelegt und konnte so auf dem Computer verwertbare Kombinationen 
erzielen. Z.B. habe ich mit 5 Kontakten die Kombination STRG+SHIFT+M 
erzeugt. Dabei spielte es keine Rolle, dass die Tasten zeitgleich 
gedrückt wurden (über einen Taster). Auch die durch das Drücken 
verursachte Anschlagwiederholung konnte ich softwareseitig beheben.

Nun brauche ich als Laie nochmal eure Hilfe. Zum einen wüsste ich gern, 
ob angehängter Schaltungsaufbau so funktionieren kann (oder ich ggf. 
noch etwas zusätzlich benötige)? Bitte nicht lachen, ist mein erster 
eigener simpler Schaltplan?

Zum anderen habe ich das Problem, dass die Kontakte an der 
Tastaturplatine, an die ich meine Drähte anlöte, lediglich aus einer auf 
das Board aufgeklebten labilen Metallfolie zu sein scheint. Das mit dem 
Anlöten klappt zwar an sich sehr gut, jedoch löst sich schon bei 
minimaler Bewegung meiner angelöteten Drähte die Folie von der Platine 
und reißt ab. Hat hier jemand einen Tipp, wie ich das stabilisieren 
kann. Bin hinsichtlich Löten und E-Technik noch unerfahren.

Grüße und Danke für eure Hilfe,
Peterchen

von Peterchen (Gast)


Lesenswert?

Kann irgendjemand helfen?

von Micha (Gast)


Lesenswert?

Peterchen schrieb:
> Das mit dem
> Anlöten klappt zwar an sich sehr gut, jedoch löst sich schon bei
> minimaler Bewegung meiner angelöteten Drähte die Folie von der Platine
> und reißt ab.

Mit was für einem Lötkolben arbeitest Du und wie lange?
Zur Not die Lötstellen nacher mit Heißkleber o.ä. versiegeln- eventuell 
kannst Du auch einen Stecker nutzen, an den Du die Drähte anlötest. 
Sieht nicht exotisch aus, könnte ein einfacher Platinensteckverbinder 
sein.

von Peterchen (Gast)


Lesenswert?

Hi Micha,

ich verwende die Pollin Lötstation bei ca. 400°C. Das Anlöten geht recht 
gut, jedoch sind die Platinenkontakte der Tastatur sehr labil 
aufgeklebt, finde ich. Ich versuchs jetzt mal mit vorsichtig anlöten und 
anschließend fixieren mit Badsilikon. Der ist ja recht billig. 
Allerdings brauche ich jetzt erstmal wieder einige preiswerte 
Tastaturplatinen von Amazon oder so. Die letzten habe ich für ca. 3€ 
besorgen können. :)

von Werner (Gast)


Lesenswert?

Peterchen schrieb:
> ich verwende die Pollin Lötstation bei ca. 400°C.

Und was für einen Schmelzpunkt hat das von dir verwendete Lötzinn?
Das Anlöten eines Drahtes sollte innerhalb von 2..3s erledigt sein. 
Normalerweise hält das Kupfer auf FR4 Basismaterial recht gut.

von Peterchen (Gast)


Lesenswert?

Kann den Schmelzpunkt leider nicht genau sagen (steht nix auf dem Ring).
Es handelt sich aber um Elektroniklot von LUX mit 99% Sn.
Das Anlöten ist auch in 2-3 Sekunden erledigt. Wie gesagt, das Problem 
mit dem Lösen von der Platine passiert erst später, vermutlich da die 
Drähte zu gut an der Kontaktfolie hält (zumindest besser als die Folie 
auf dem Board...). :)

von Philip S. (psiefke)


Lesenswert?

Versuch mal mit 380 Grad zu löten...

von Guido Körber (Gast)


Lesenswert?

Wenn das Controllerboards sind die für den direkten Anschluss an eine 
Folientastatur vorgesehen sind, dann haben die Kontakte auf der Platine 
eine Carbonoberfläche, die lässt sich wenig bis gar nicht löten. Dadurch 
wird dann zu lange da drauf rum gebraten und dadurch löst sich die 
Leiterbahn von der Platine.

von Thomas J. (deh0511)


Lesenswert?

Auf meiner Webseite gibt es unter http://www.die-elektronikwerkstatt.de
eine Anleitung für ein Cherry Tastaturcontroller mit Anschlussbelegung


Artikelnummer Cherry                          Leiterplatten Bezeichnung
G83-6105LUNDE-0/02 für USB                 601-2110 CEM-3 für USB Only
G83-6105LRPDE-0 Für PS/2                 601-2080/04 CEM-3 für PS/2 Only
G83-6105LRPDE-0 Für PS/2
G83-6105LUNDE-0/02
G83-6105SLUNDE-0/03 für USB und PS/2         601-2155/03 für USB or PS/2
G83-6105LRPDE-1/00 Für PS/2                 601-1830/01 für PS/2

Anschaffungskosten: ca.12 ~ 14 €

Gruß Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.