Forum: Mikrocontroller und Digitale Elektronik Eigene "Tastatur" bauen


von Nils K. (nilsonneo4)


Lesenswert?

Hallo zusammen,

ich brauch mal ein wenig Starthilfe für ein kleines Bastelprojekt. Ich 
hab vor meine eigene "Tastatur" zu bauen. Nur halt für bestimme Spiele 
und mit solchen Tastern (o.ä.). Ist halt besser so nen Knopf für 
"Fahrwerk ausfahren" zu drücken als "Strg" + "F"

Das Gerät soll als Tastatur erkannt werden, um eine hoche Komptabilität 
zu spielen herzustellen.

Elektrotechnische Grundlagen und Programmierkenntnisse sind vorhanden, 
brauch nur ein wenig Rat welche meiner ansaetzt wohl der beste ist:

1. Raspberry PI und PS2

Also die Tasten an die GPIO Pins des PI und die Weitergabe an den PC 
über die PS2 Schnittstelle.

Vorteile:
-PI Model B ist vorhanden
-Macrofunktionen* auf dem PI in der Software umsetzbar.
-PS2 Protokoll recht einfach
-Keine Treiber am PC nötig
Nachteile:
- PS2 Schnittstelle am aussterben. Mein aktuelles Board hat noch eine, 
aber wer weiß ob das nächste noch.

2. Raspberry PI und USB
Tasten wie in 1 nur die Weitergabe über USB

Vorteile:
-PI Model B ist vorhanden
-Macrofunktionen* auf dem PI in der Software umsetzbar.
-USB ist Zukunfssicher

Nachteile:
Den PI dem PC als Tastatur unterzujubeln ist sehr schwer. (der PI ist 
nur USB-Host, kein Device)
a) komplett eigene Programierung des USB Treibers -> übersteigt meine 
Programmierkenntnisse dann doch
b) mit extra Hardware die sich am PC als HID (HID-Device-Controller) 
anmeldet und serielle Ausgaben von den GPIOs übersetzt. -> scheint es 
nicht zu geben
Dazu sind die GPIO im Vergleich zu USB recht langsam.

3. Umgebaute billige USB-Tastatur

Vorteile:
-Fertiger HID-USB-Controller ("plug and play")
-Viele Tutorials im Netz

Nachteile
-Macros* nur Hardwareseitig
-Die Kontakte, an die normal die Folie angeschlossen wird, sind recht 
klein -> kein Spielraum für Lötfehler

4. KeyWarrior24-8 Modul
http://www.codemercs.com/shop/de/keywarrior24-8-modul

Eigener Chip für USB-Tasten

Vorteile:
-Einfaches + sauberes Löten (ermöglicht Steckerverbindungen)

Nachteile:
-Macros* nur Hardwareseitig


*Erklärung "Macro". Für eine Funktion (z.B. "Fahrwerk ausfahren") Müssen 
zwei oder mehr Tasten (z.B. Str + F) gedrückt werden. Ziel ist es aber 
nur eine Taste drücken zu müssen.

Welcher der vier haltet ihr für am besten oder habt ihr noch andere 
Ideen?+

Gruß

von Käthe (Gast)


Lesenswert?


von Dennis S. (sixeck)


Lesenswert?

Viele Arduinos können das doch ? Gerade der Atmgea32u4 ...?

von Nils K. (nilsonneo4)


Lesenswert?

Hab halt noch einen PI hier rumliegen ;)

Über nen Arduino hab ich noch nicht nachgedacht (noch nie damit 
gearbeitet).
Danke für den Hinweiß

Edit:

Scheint ja echt einfach mit nem Arduino zu sein. Gibt sogar fertige Libs
http://arduino.cc/en/pmwiki.php?n=Reference/MouseKeyboard

: Bearbeitet durch User
von mh? (Gast)


Lesenswert?


von Käthe (Gast)


Lesenswert?

Da bracuht man keinen Arduiono dafür. Da reicht ein atmega8 oder sogar 
ein attiny...kostet unter 2 euro das ganze. ich habe allerdings nur 
einen taster angeschlossen

von Max D. (max_d)


Lesenswert?

Oder ein "Software-Stack" auf dem Host-PC dem der Pi per Netzwerk oder 
UART die Tasten sendet.
Zumindest unter Linux gibt es "xdotool" mit dem man Tastendrücke (und 
Mausbewegungen) über einfache Commands auslösen kann.
Für Windows wird es ja was ähnliches geben.
Hätte den Vorteil, dass man das ganze in Python "hinrotzen" kann.

Nachteil wäre die "von hinten durch die brust ins Auge" Natur dieses 
Ansatz.

von Dennis S. (sixeck)


Lesenswert?

Max D. schrieb:

> Nachteil wäre die "von hinten durch die brust ins Auge" Natur dieses
> Ansatz.

Ja schon.
einfach Arduino Micro und ein paar taster dran -> Fertig.

Kein Stack. Kein Wissen notwendig.

von Stefan F. (Gast)


Lesenswert?

Fertige Chips dazu gibts dort: 
http://www.codemercs.com/index.php?id=37&L=0

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Max,

> Oder ein "Software-Stack" auf dem Host-PC dem der Pi per Netzwerk oder
> UART die Tasten sendet.
> Zumindest unter Linux gibt es "xdotool" mit dem man Tastendrücke (und
> Mausbewegungen) über einfache Commands auslösen kann.
> Für Windows wird es ja was ähnliches geben.

Autohotkey sollte das passende Tool dafür sein. Damit kann man noch jede 
Menge andere nützliche Sachen machen.

Mit freundlichen Grüßen
Thorsten Ostermann

von 123 (Gast)


Lesenswert?

Hallo.
 Mit dem raspery wird USB device nicht funktionieren. Host ist nicht 
gleich device. Hier unterscheidet sich schon die HW.

Beim model b geht das gar nicht. Da ist ein USB hub dazwischen.

Beim model a könnte es gehen. Da fehlt der hub Baustein. Und die 
Leitungen gehen vermutlich direkt auf den otg port. ID pin umlegen, 
damit von host auf device umgestellt wird.  Bus power trennen(5V), sonst 
rauchte ggf. illegales USB kabel mit 2 a steckern. Der Rest ist dann 
software. Nur ob der device Treiber tut?

von overdone (Gast)


Lesenswert?

Nils Kurt schrieb:
> Hab halt noch einen PI hier rumliegen ;)

Pfft.. Da reicht sogar ein kleiner Atmega8...

Schau mal auf:

http://www.mcselec.com/index.php?option=com_content&task=view&id=322&Itemid=57


RaspberryPI.. Du bist echt lustig ;)

von overdone (Gast)


Lesenswert?

Da kannst du alles legen wie du möchtest und hast sogar nen USB 
Anschluss. Wird als HID erkannt. Und das für schlappe <5€ ;)

von abc.def (Gast)


Lesenswert?

Tastatur zerschrotten und eigene Tasten an den Tastatur-Controller 
anlöten. Wozu die Tastatur nochmal neu erfinden?

von overdone (Gast)


Lesenswert?

abc.def schrieb:
> Tastatur zerschrotten und eigene Tasten an den Tastatur-Controller
> anlöten. Wozu die Tastatur nochmal neu erfinden?

Hä ;) ?

Nein, eigenen Controller programmieren mit Software, die schon zur 
verfügung steht und mit einem Tastendruck ganze "Folgen" von Zeichen 
benutzen darstellen, was auch immer. Da reicht auch ne kleine fertige 
Matrixtastatur, muss man nix "schrotten"...

von Guido L. (guidol1970)


Lesenswert?

Dennis S. schrieb:
> Kein Stack. Kein Wissen notwendig.
oder nur wenig :)
http://arduino.cc/en/pmwiki.php?n=Reference/MouseKeyboard
oder bei ARCADE-Hardware umsehen :)
http://www.arcadeshop.de/index.php?cPath=82_93

oder als Bluetooth-Version auch schnell erledigt :)
http://www.exp-tech.de/bluefruit-ez-key-12-input-bluetooth-hid-keyboard-controller-v1-2

: Bearbeitet durch User
von Michael D (Gast)


Angehängte Dateien:

Lesenswert?

Vielsicht mein Projekt würde passen

USB Macro Keypad

Arduino USB Tastatur frei Programmierbar Deutsch selber bauen.
Eine Resistiven Touchscreen Panel mit Papierhintergrund fungiert als 
macro Keypad / TouchPad.

http://esp8266-server.de/keypad.html

von THOMAS aus der Vergangenheit (Gast)


Lesenswert?

Denke und hoffe, „Nils K.“ konnte sein Projekt in den vergangenen 6 
Jahren zu seiner Zufriedenheit umsetzen;)

Dennoch, hier für alle - auch heute noch - suchenden „Nils K.‘s“ dieser 
Welt; könnte auch folgende Lösung interessant sein...

https://arcaze.de/produkt/arcaze-usb-interface/

von Patrick S. (paddyhb89)


Lesenswert?

https://ch.elv.com/joy-it-digispark-mini-mikrocontroller-127483?refid=Gads_Shopping&gclid=Cj0KCQjw-uH6BRDQARIsAI3I-UceyMvdHcyLRvCF7j7B5O6WylLe4K0EsTZYkYKs5i-Yk2YBI_bLfFcaAiGBEALw_wcB

ein gpio lässt sich mWn nicht ohne Progammer nutzen. Aber man kann ja 
mehrere nehmen und sie mit einem Hub in ein gehäuse verbauen o.Ä....

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.