Digital-Joystick am PC

Sep 15, 2003 2 Replies

Hallo!



Ich würde gern einen digitalen Joystick am analogen PC-Gameport verwenden. Der Joystick hat sechs Taster (4 Richtungen und



2x Feuer), die jeweils an einem Anschluß zusammengeschaltet sind.

Soweit ich weiß wird am Gamport des PCs für jede der beiden Achsen in kurzen Abständen ein RC-Glied aufgeladen (R ist dabei das Poti im Joystick). Aus der Ladedauer ermittelt der Controller die Stellung des Joysticks.



Das Poti im Joystick ist gegen 5V geschaltet. Meine Messungen für R an einem Analog-Joystick brachten 0-10kOhm bei Minimalauslenkung, ~80kOhm in Mittelstellung und ~150kOhm bei Vollauslenkung.



Da ich für die Feuer-Knöpfe sowieso einen Inverter (z.B. 74LS04) brauche, habe ich mir folgende Schaltung für eine Achse überlegt:



o+5V +--+ | / | | ___ / +---/ ---+---+ O---|___|---+----/ ---o+5V T1 | | | R2 | T2 | +--+ | ,-, +-----> zum Gameport | |R1 |_| | ~~~ GND



Der gemeinsame Pin der Taster im Digital-Joystick liegt auf +5V. T1 und T2 sind dabei Taster für zwei jeweils gegenüberliegende Richtungen. R1 dient als Pulldown-Widerstand, R2 (~80kOhm) sorgt für die "Mittelstellung" des Joysticks. Eventuell sollte noch ein Widerstand in die Leitung zum Gameport gesetzt werden, damit diese bei geschlossenem T2 nicht kurzgeschlossen wird. (Einige Gameports haben wohl zur Sicherheit einen 1-2kOhm Widerstand eingebaut, aber ich weiß nicht, ob das Standard ist.)



Ist diese Idee sinnvoll bzw. die Schaltung so in Ordnung? Oder geht es vielleicht viel einfacher?



Gruß, Till.


e-mail: wollenberg (at) web (punkt) de

Würde ich nicht machen. Wenn du Windows 2000 oder XP benutzt, kannst du am Gameport nur einen Joystick zuverlässig anschliessen. Der Treiber für "Two 2-axis, 2-button joysticks on one gameport" hat leider einen Fehler; der jeweils zweite Joystick liefert zufällige Werte (gab' mal einen KB-Artikel dazu, finde ich aber gerade nicht).

Besser und einfacher geht's mit einem Joystick-Treiber, der Joysticks am Parallelport unterstützt:

formatting link

Wenn man noch einen alten Amiga-4-Player Adapter hat, kann man den ungespitzt am PC verwenden.

Selber basteln ist auch trivial - 2x 25pol. SUB-D-Stecker, Kabel, fertig. (Tip: Wenn man beim 25er-SUB-D Stecker ein paar der Pins vorsichtig entfernt, passen zwei Joystickstecker rein. Dann kann man ein normales SUB-D Modulgehäuse verwenden). Allerdings sollte man sich noch irgendwoher (PS/2, USB, etc..) +5V besorgen, sonst funktioniert das Autofeuer nicht.

@MaWin: Wäre das was für die FAQ?

thomas.kindler@gmx.de, www.kreapc.de

Hallo!

"Thomas Kindler" schrieb:

Wie beschrieben, möchte ich genau einen digitalen Joystick anschließen. Das Problem würde mich also nicht betreffen.

Das klingt allerdings sehr interessant. Einige der unterstützten Adapter bestehen nur aus ein paar Widerständen/Dioden, und der Amiga-4-Player Adapter verbindet die Joysticks sogar direkt mit dem Parallelport.

Die 5 Volt von irgendwo herzuholen ist schon wieder nicht so günstig. Auf die Schnelle ist die Treiber-Lösung ideal, aber ich bin dennoch an einer "richtigen" Umsetzung mit möglichst wenig externen Bauteilen interessiert.

Gruß, Till.

e-mail: wollenberg (at) web (punkt) de

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required