Digital-Joystick am PC

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
Reply to
Till Wollenberg
Loading thread data ...

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
Reply to
Thomas Kindler

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
Reply to
Till Wollenberg

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.