C USB Analog Joystick Gamepad AVR

flecralf

Mitglied
25. Juli 2013
194
2
18
Sprachen
  1. ANSI C
Hallo alle zusammen,
hab' mir vor einem Jahr einen Konverter bestellt um analoge Joysticks am USB-Port betreiben zu können.
Das Ding läuft so ja auch ganz gut.... hat aber so seine Tücken.... manchmal muss ihn bis zu
10x rausziehen und wieder einstecken.
Da kam mir eben die Frage in den Sinn, ob es sich denn lohne so einen Converter mit einem Atmega
zu realisieren.
Derzeit steht eher ein Gamepad im Vordergrund.... die Dinger haben soweit ich sehen kann, ohnehin schon digitale Verhältnisse, da ich nur Schalter finden kann.
Also analoge Wert eines Potis fallen dann erst mal weg.

Anreiz wäre das nervige Stecken und Ziehen des Stecker zwecks Neuinitialisierung durch einen Taster
zu gestalten, oder vielleicht ganz überflüssig werden zu lassen.
USB habe ich noch nie programmiert....
Lohnt sich das?
Gruß
Ralf
 
USB ist sehr komplex, vor allem wenn der Chip das selbst nicht hardwareseitig unterstützt. Richtige Timings, dieser ganze Lizenzmüll…

Aber fast alle Game Pads haben doch 2 Joysticks, also 4 analoge Eingänge (2x x+y) + mindestens 8 Tasten. Bei Playstation-ähnlichen Controllern wären es also 4x analog + 16 digital. Die gibt es schon ab 10€. Verarbeitung ist dementsprechend, aber wenn man es eh zweckentfremden will… ;)
Big R hätte da auch was passendes. Link

Hab hier selber einen mal vom ProMarkt geordert als es den hier noch gab. Nie Probleme mit gehabt, obwohl es das preiswerteste Modell für 7€ war.
Ob und wie du das dann letztendlich umsetzen kannst wenn du daran alte Joysticks anschließen möchtest ist aber eine andere Sache.
 
Die speziellen ics von CodeMercs sind ein bißchen zu teuer..... zumindest für die Gamepadvariante könnte man ein NoName-Billig-Gerät nehmen und die Elektronik übernehmen.
Analog habe ich nichts passendes gefunden.... dürfte aber auch kein Problem sein...
Also von USB ratet Ihr mir ab? Vielleicht auch besser.... mit dem i2c-Bus hatte ich mich nicht gerade mit Ruhm bekleckert.....:)
Gruß & Danke
Ralf