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