www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem bei Gameport debugger


Autor: Ferlo de rühr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi. Ich habe ein Problem beim Ansteuern des Gameports.
Ich habe mir einen Debugger für den Gameport gebaut.
Dieser benutzt 100K Potis, die die Joystickachsen simulieren.
Bei der Abfrage der Achsen bekomme ich aber immer Schwankende Werte,
die immer Springen (172...171..172...170). Kann man das mit
Puffer-kondensatoren kompensieren ? Oder irgendwie anders ?
Bedanke mich schon im voraus für ein paar Antworten.

Autor: Michael Frangenberg (startrekmichi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube kaum, dass sich da was machen lässt. Der Standartgameport hat
einfach eine schlechte Auflösung. Außerdem wär es möglich, dass du
einfache Potis verwendet hast und sich damit dann die Fehler
aufaddieren.
Wenn du dir nen gescheiten Joystick bauen willst, dann schau mal hier:

http://www.mindaugas.com/projects/

Den kleinen Joystick (6Achsen/24Tasten) habe ich erfolgreich
nachgebaut, er hängt jetzt an meinem selbstgebauten Steuerhorn
+Seitenruderpedalen. Der große macht natürlich mehr Arbeitsaufwand, hat
aber auch deutlich mehr Möglichkeiten.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht doch ganz "gut" für nen Gameport aus,.. der AD-Wandler in
Gameports ist eben nicht sonderlich genau.
Du kannst auf der Softwareseite das ganze etwas glätten, also z.B.
immer den Mittelwert aus den letzten n Werten bilden, oder x= x*k +
m*(1-k), wobei m der jeweilige Messwert ist, x dein geglätteter Wert
und k ein Faktor (so in der 0.9 Ecke).
Durch solche Maßnahmen verringert sich aber natürlich auch die
Reaktionsgeschwindigkeit,.. also den Gameport möglichst oft auslesen,
damit das ganze nicht zu träge wird.
Man kann vom Gameport glaube ich auch 16Bit Werte bekommen, die
natürlich genau so schwanken, könnte aber wenn man mittelt dennoch
besser sein.
Natürlich sind auch noch aufwändigere Tiefpassfilter möglich,..

Eine andere Möglichkeit (wird von der Windows-Api für Gameport Zeugs
schon angeboten) ist es, nen Schwellwert für die Änderung festzulegen,
ab der man den neuen Messwert nimmt. (Wenn du mittelst, so was aber
ausschalten). Also wenn die Änderung zwischen zwei Messwerten z.B.
größer zwei ist, dann den Wert nehmen, andernfalls den alten
beibehalten. Wenn man nicht viel Rechenzeit hat, kann man das nehmen,
ist aber andernfalls auch nicht so toll.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.