günstiges USB Interface für Arcade Automat

Gast #3532318
Lesenswert?

Ich stehe vor einem Problem.

Mein aktuelles Projekt (ein eigener Arcade Automat 
http://de.wikipedia.org/wiki/Arcade-Automat) benötigt einer Verbindung 
zum PC.

Er wird 4 Joysticks haben sowie einige Buttons. Insgesamt sind das etwa 
50 Eingänge.
Es gibt im Internet extra Controller dafür. etwa das IPac 
http://www.ultimarc.com/ipac1.html

Da mir dieses noch zu teuer erscheint habe ich gestern eine alte Hama 
USB Tastatur auseinandergenommen und mit dem internen Controller 
experimentiert. Wie zu erwarten hat das super funktioniert. Ich könnte 
nun externe Taster anschließen.

Ich sehe darin aber ein großes Problem. Es können nicht beliebig viele 
Tasten gleichzeitig gedrückt werden. Bei einer Runde Mario Kart 64 
können das pro Spieler aber mal 4 Tasten gleichzeitig sein. Auch bei 
Street Fighter ist dies realistisch.

Gibt es Tastaturen die sehr viele Taster gleichzeitig (vielleicht 16 
oder mehr) erkennen können und günstig genug zum ausschlachten sind?

Habt ihr eine andere Idee?
Persönliche Seite #3532349
Lesenswert?

Boris P. schrieb:
> Zumindest gibt es doch keine technische Notwendigkeit dafür, eine
> Tastatur so einzuschränken

Aber selbstverständlich.

Einfache Matrixtastaturen können nur eine sehr überschaubare Anzahl 
gleichzeitig gedrückter Tasten erkennen; es muss gezielt Aufwand 
getrieben werden, um mehrere Tasten erkennen zu können. Das nennt sich 
dann "n-key-rollover". Bei meiner IBM Modell M ist nach vier 
Buchstabentasten schluss.

Übliche Tastaturen erfassen Alt/Ctrl/Shift etc. separat von den normalen 
Tasten und erkennen so mehrfach gedrückte Tasten.

Spezielle "Gamer"-Tastaturen sind hier noch weiter optimiert.
#3532361
Lesenswert?

Rufus Τ. Firefly schrieb:
> Aber selbstverständlich.

Verstanden habe ich das jetzt aber immer noch nicht...

Da sitzt also ein spezieller Controller in der Tastatur, an den alle 
Tasten als "Taster" angeschlossen sind. Was spricht nun dagegen, bei 
einer Änderung (eine Taste wurde gedrückt/losgelassen) den aktuellen 
Zustand aller Tasten per USB an den PC zu schicken?

Bei ~105 Tasten müssten dazu nur 14 Byte übertragen werden. Wo ist da 
das Problem?
Gast #3532382
Lesenswert?

Antworter schrieb:
> Probier mal ne ps2 Tastatur!

Kann die mehr? Jede?

Rufus Τ. Firefly schrieb:
> Piotre schrieb:
>> Habt ihr eine andere Idee?
>
> XX-Warrior von Codemercs. Das sind fertig programmierte Microcontroller
> mit USB-Anschluss, die verschiedenste Konstellationen von Joysticks,
> Tasten etc. unterstützen.
>
> http://www.codemercs.com/index.php?id=controller0&L=0

schau ich mir gleich an

Boris P. schrieb:
> Verstanden habe ich das jetzt aber immer noch nicht...

Die Tastatur die ich geöffnete hat zwei Ports. Beim Tastendruck wird ein 
Bit des einen Ports mit einem Bit des Anderes verbunden. Jetzt hängen an 
einem Bit aber mehrere Tasten. Wenn zu viele Tasten gedrückt werden, 
kann der Controller nicht mehr erkennen, welche Tasten genau gedrückt 
wurden. Schau dir mal eine Matrix an.
Persönliche Seite #3532390
Lesenswert?

Boris P. schrieb:
> Da sitzt also ein spezieller Controller in der Tastatur, an den alle
> Tasten als "Taster" angeschlossen sind.

Sieh Dir einfach mal an, wie eine Tastatur aufgebaut ist. Da ist nicht 
jede Taste einzeln an einem eigenen Eingang eines µC angeschlossen, 
sondern die Tasten sind in einer Matrix verschaltet. Und das wiederum 
schränkt die Anzahl der gleichzeitig als gedrückt erkennbaren Tasten 
deutlich ein.
#3532399
Lesenswert?

Piotre schrieb:
> Es gibt im Internet extra Controller dafür. etwa das IPac

> Da mir dieses noch zu teuer erscheint

Nö. Gemessen an dem was da noch so an Kosten auf dich zu kommt bevor der 
Automat komplett ist gehen die Kosten für das I-Pac im Rauschen unter. 
Und aus eigener Erfahrung kann ich dir sagen: Die diversen Spielereien 
mit ausgeschlachteten Tastaturen bringen nichts. Irgendwo hakts da 
schlussendlich immer. Mit dem I-Pac ersparst du dir so einiges.
Gast #3532660
Lesenswert?

Piotre schrieb:
> Antworter schrieb:
>> Probier mal ne ps2 Tastatur!
>
> Kann die mehr? Jede?

Nein, kann sie nicht.

Bei PS/2 werden Tastendrücke einzeln an den Rechner geschickt, je nach 
Taste mit mehreren Bytes. USB verwendet dafür ein Standardformat in dem 
alle 8 Modifiers (shift, alt...) als Bitfeld und bis zu sechs Tasten als 
jeweils ein 8 Bit Code übertragen werden. Prinzipiell kann eine Tastatur 
auch eine erweiterte Version dieses Formates verwenden, das passiert 
aber selten.

Für normale Tastaturanwendungen ist es nicht notwendig mehr als ein paar 
Tasten gleichzeitig zu benutzen, also warum sollten sich die Hersteller 
des Aufwand machen? Dazu kommt, dass eine Tastenmatrix Dioden an jeder 
Taste haben muss, damit auch beliebige Kombinationen sauber erkannt 
werden. Auch ein Kostenfaktur und bei Folienschaltern technisch 
aufwändig.
Gast #3532700
Lesenswert?

Rufus Τ. Firefly schrieb:

> die Tasten sind in einer Matrix verschaltet. Und das wiederum
> schränkt die Anzahl der gleichzeitig als gedrückt erkennbaren Tasten
> deutlich ein.

Es werden immer alle tatsächlich gedrückten Tasten erkannt, egal wie 
viele es sind.

Das Problem ist das "Ghosting", welches dafür sorgt, daß zusätzlich zu 
den tatsächlich gedrückten Tasten weitere Tasten als gedrückt erkannt 
werden. An der einfachsten Form eine 2x2-Matrix kann man das sehr leicht 
durchdenken, wenn dort drei der vier Tasten real gedrückt werden, sieht 
man immer auch die verbleibende Vierte als gedrückt.

Und wie Guido Körber richtig schrieb, ist eine Diode in Reihe zu jeder 
einzelnen Taste die einfachste Möglichkeit, diesen Effekt zu 
unterdrücken. Aber offensichtlich immer noch zu teuer, um tatsächlich 
angewendet zu werden, ich habe jedenfall in noch keiner PC-Tastatur 
Dioden in der Matrix gesehen.

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