Hallo Für ein Projekt möchte ich einen Gameport-Joystick als Eingabegerät verwenden. Diese Schnittstelle mit ihren jeweils 4 digitalen bzw. analogen Pins scheint mir mit Abstand am einfachsten zu verwenden. Nun hat der Gameport ja 4 digitale Pins für 4 Knöpfe, der Joystick den ich hier vor mir habe hat aber deutlich mehr. (3 4-Seiten-Knöpfe, Feuerknopf, normale Knöpfe). Wie werden die denn ausgelesen? Gruss Michael
Hallo, eigentlich hatte der Gameport 2 Analoge, 2 Digitale Eingänge und Midi In-/Out, wenn er auf einer Soundkarte wohnte. Irgendwann reichten die 2 Knopfe nicht und es wurden 4. Leider ging dann Midi-In/Out nicht mehr so richtig. Als das auch nicht reichte, machte eben jeder Hersteller, was er wollte... 2x Analog und 2x Digital stimmt immer. Der Rest? Schieberegister im Joystick und dann über 2 Pins der Wahl des Herstellers irgendwie in den Port geschoben. Da kamen dann die Treiber, die nur mit Game X gingen, wo nur 3 der Knöpfe vollig unsinnige Aktionen auslösten usw. usw. ;) Also den Joystich aufschrauben, schauen was drin und wo dran ist. Gruß aus Berlin Michael
Hallo Ok...soviel also zu meiner Aussage bezüglich Einfachheit ;-) Zum Glück habe ich einen qualitativ hochwertigen Joystick von Logitech, mal schauen, ob es eventuell sogar eine Dokumentation dazu gibt o.ä. Gruss Michael
Laut kabelfaq liegen (wie ich schon vor meinem Post vermutete und auch zu wissen meinte) auf dem Gameport die Anschlüsse für zwei Joysticks: 4x analog + 4x digital Um die Eingänge unter Windows benutzen zu können, muss man auf die analogen Eingänge auch ein Signal legen (irgendwelche Widerstände; ausprobieren). Sonst wird der Joystick gar nicht erst erkannt. http://www.kabelfaq.de/usb.html
Hallo Ich muss Widerstände auf die Analog-Eingänge legen? Ich dachte bisher, da wäre ein Widerstand drin, durch denn dann im PC ein Kondensator gefüllt wird. Wie oft dieser 'überläuft', wird gezählt und daraus der Widerstand und somit die Schalterstellung errechnet. Na gut, das alles liesse sich mit dem Multimeter testen, aber zuerst muss ich mir mal den passenden Sub-D-Stecker auftreiben, sonst gibt das ein riesen Gefummel... Gruss Michael
Der PC-Joystick hat im Analogteil üblicherweise NE555-kompatible Timer (als Mehrfachchip bzw. bei neueren PCs in einen anderen Chip mit integriert) verbaut. Diese sind als Monoflop geschaltet, wobei der Kondensator mit im PC ist, der Widerstand (als Poti) im Joystick. Das Auslesen erfolgt durch Triggern des Monoflops von der PC-Software und Ermitteln der Zeit, bis der Ausgang wieder zurück schaltet. Deshalb haben die PC-Joysticks auch eine (so bescheuerte) Innenschaltung, die für den Anschluss an den ADC relativ ungeeignet ist. ...
> Deshalb > haben die PC-Joysticks auch eine (so bescheuerte) Innenschaltung, die > für den Anschluss an den ADC relativ ungeeignet ist. Niederohmig? Weil es ja ziemlich fix gehen muss mit dem Laden des Kondensators. Habe nun mal meinen Joystick aufgeschraubt. Der Schubregler ist wie erwartet an einem Poti. Doch für die Steuerachsen konnte ich keine Potis finden, sondern für jede Achse ein dünnes Blech, das sich mehr oder weniger auf Leiterbahn-Ringe auf der Platine absenkt, diese aber nich berührt. Es macht mir fast den Eindruck, als würden hier induktive Wirkungen gemessen. Könnte das sein? Gruss Michael
Hallo, @inoffizieller WM-Rahul: Du hast mit 4x für 2 Joysticks natürlich völlig recht. Ich bezog mich auf die Ursprungsversion, 1 Joystick hatte 2 Potis zwischen Masse und +5V geschaltet, die Schleifer an x und y. Dazu 2 Taster gegen Masse. Das dann später beide Josticks sozusagen in einen eingebaut wurden, um 4x Analog und 4x Digital zu haben, ist eine andere Geschichte. Die Timer waren für Dauerfeuer, soweit vorhanden. Die Potis hatten so um die 50k und eine angepasste Kennlinie, weil der Wandler im PC ziemlich nichtlinear ist. Gruß aus Berlin Michael
Hallo, Wie schon weiter oben beschrieben wurde kann so ein Joystik ein nahezu beliebige Innenleben aufweisen. Wichtig ist nur wie die Signale aussehen welche ihn über den Port in Richtung verlassen. Hier bist du an die Methoden gebunden welche der Port vorschreibt. Bezüglich der Digitaleingänge kannst du 4 Pins nach belieben verwenden wenn du Dein eigenes Protokoll verwendest. Die analogen Eingänge basieren auf der schon beschriebenen RC Zeitmessung hier kommt es an den C im PC zu laden. Ob das logarithmisch (über R )oder digital (über PWM) geschieht bleibt Dir überlassen. Die Messmethode innerhalb der am Jostikport angeschlossenen Einheit ist davon vollkommen unabhängig realisierbar, wenn Du die Signale entsprechend umformen kannst, wäre sogar eine Phasenwinkelmessung oder eine Frequenzmessug möglich. Nur über die Auflösung von 256 digit =8bit kommst du nur hinaus, wenn Du Deinen eigenen Treiber schreiben kannst. Nur noch ein kurzes Beispiel mit den Digitaleingängen kannst Du sogar eine art Onewaydatenbus realisieren, wenn du über eine Leitung taktest und über die Andere die Werte hineinschiebst. Ich muss noch mal nachsehen ob man die Analogeingänge auch als Ausgänge mißbrauchen kann, indem man per Treiber den Entladetransistor des Ne555 direkt anweisst loszulassen oder eben nicht.
edit: Wichtig ist nur wie die Signale aussehen welche ihn über den Port in Richtung PC verlassen.
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.