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?
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
Piotre schrieb: > Ich sehe darin aber ein großes Problem. Es können nicht beliebig viele > Tasten gleichzeitig gedrückt werden. Ehrlich? Es würde mich doch sehr wundern, wenn das nicht ginge... Zumindest gibt es doch keine technische Notwendigkeit dafür, eine Tastatur so einzuschränken. was würden denn dann die ganzen Gamer machen, die am PC spielen?
:
Bearbeitet durch User
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.
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?
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.
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.
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.
:
Bearbeitet durch User
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.