www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB-Treiber für PC-Joystick


Autor: Sebastian Pischel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
ich spiele schon seit ner Weile mit dem Gedanken, mal was mit AVR und
USB zu machen. Es gibt ja diese tollen FTDI-Chips, von TI ein paar, von
Philips ein paar usw, aber wie mache ich das auf der PC-Seite? Konkret
habe ich die Idee, einen USB-Joystick selber zu bauen. Ich habe hier
noch nen richtig gut verarbeiteten programmierbaren Flugsteuerknüppel
(X36 von Saitek, falls das jemandem was sagt), der jedoch per Gameport
angeschlossen wird und zusätzlich noch per Din-Fünfpol ins
Tastaturkabel eingeschleift wird. Nun hat mein Notebook aber keins von
beidem... Die Idee also: die Tasten und Potis des Joysticks mit ATmega8
oder so auslesen und per USB verschicken, aber dann muss man das Ding ja
irgendwie als Joystick deklarieren und die Potistellung in die richtigen
Speicherstellen schreiben. Und die Krönung wäre ja, wenn man mit einem
Knopfdruck auf dem Joystick einen Tastaturcode absenden könnte. Ich
weiß, gibts alles, die neueste Auflage von Saitek kostet 99€. Und ich
will sowieso mal rausbekommen, wie das mit USB funzt.
Kann mir jemand direkt mit der Idee weiterhelfen und/oder allgemeine
Informationen über die PC-Seite von USB-Peripherie geben? Ich
pogrammiere in Delphi.

MfG, Sebastian

Autor: Hannibal.exe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mann müsste ein HID-kompatibles gerät mit dem FTDI erzeugen. Dann
erkennen Windoof Linux usw. den als Joystick. Es gibt auch einen
AVR-USB-Joystick.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem FTDI-Chip lässt sich kein HID-kompatibles Gerät erzeugen. Der
implementiert nur und ausschließlich sein eigenes Protokoll.


Es gibt allerdings fertige Analog-Joystick-zu-USB-Adapter, nur bleibt
da natürlich der Spaß der Selbstentwicklung auf der Strecke. Für den
genannten Joystick wäre dann nur noch die Frage der Stromversorgung zu
klären (wozu sonst wird das Ding in das Tastaturkabel eingeschleift?).
Aber eventuell ließe sich das mit einem ebenfalls fertig verfügbaren
Tastatur-zu-USB-Adapter lösen.

Ansonsten gibt es aus der Igor-Cesko-Ecke einen USB-Joystick, der mit
einem AVR ohne spezielle USB-Hardware auskommt.

Alternativ ließe sich auch ein "JoyWarrior" einsetzen, das ist ein
bereits fertig programmierter Microcontroller
(http://codemercs.com/JoyWarriorD.html).

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
'Mit dem FTDI-Chip lässt sich kein HID-kompatibles Gerät erzeugen. Der
implementiert nur und ausschließlich sein eigenes Protokoll.'

D.b. also auch, dass ich letzten Endes den kompletten PC-Treiber für
dieses Gerät schreiben müsste, bzw. die Schnittstelle zwischen
FTDI-D2XX-Treibern und M$ DirectInput (um mal bei FTDI zu bleiben) -
richtig?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, genau so sähe das aus. Ist also keine sinnvolle Lösung.

Autor: Michael Wolf (mictronics) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVR ATmega8 basierender USB Joystick mit 8 analog Kanälen und bis zu 28
Tasten inklusive Coolie-Hat:

http://www.mictronics.de

/Michael

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab ein USB to Gameport wandler der bei meinem joystick dabei war. Das
ding is aber leider fest verschweißt. Evtl. kann ich mich davon trennen
falls interesse besteht

Autor: hmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Also es gibt kostenlose AppNotes für Phillips yController auf den
Seiten von Keil, die einen USB-HID Device aus dem yC machen. Damit kann
das Ding dann wunderbar unter Windows angesprochen werden;

http://www.keil.com/support/man/docs/mcb2140/mcb21...

Das sind allerdings ARM-Prozessoren. Aber das wäre mal ein nettes
Projekt. Ich wäre dabei

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Hier ein paar Links, die Dir vielleicht helfen, wenn Du einen anderen
Chip als den FTDI verwenden willst:

http://www.manderby.com/mandalex/u/usb.php?id=85

http://www.beyondlogic.org/

Wie schon erwähnt, brauchst Du bei einem HID-Gerät keinen PC-Treiber zu
schreiben, kannst aber keine FTDI verwenden, weil diese einen virtuellen
COM-Port implementieren (dafür gibt es eine eigene Geräte-Klasse).

Du kommst aber vielleicht auch ohne extra USB-Chip aus:

http://www.flightsim.com/cgi/kds?$=main/howto/mind.htm
http://www.cesko.host.sk/

--
 Dirk

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm,
die Sache ist, das der uC nicht gerade 'unbeschäftigt' ist, sondern
>16 Analoge Kanäle zu 10 Bit und >128 digitale Signale einliest und
entprellt - von daher glaube ich, dass eine reine SW-USB-Variante nicht
interessant ist....

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.