Digital-Joystick am PC

T

Till Wollenberg

Guest
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
 
Till Wollenberg wrote:

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.
[...]
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:

http://www.geocities.com/deonvdw/PPJoy.htm

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" <thomas.kindler@gmx.de> schrieb:

Till Wollenberg wrote:
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.
[...]

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).
Wie beschrieben, möchte ich genau einen digitalen Joystick
anschließen. Das Problem würde mich also nicht betreffen.

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

http://www.geocities.com/deonvdw/PPJoy.htm
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.

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.
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
 

Welcome to EDABoard.com

Sponsor

Back
Top