[Gelöst] Daten von Joystick über PC an Arduino

Hallo zusammen,

ich habe einen Logitech Joystick und möchte mit diesem über den Arduino ein paar Dinge ansteuern.
Ich möchte den Joystick via USB an den PC anschließen und die Daten auslesen und über USB dann weiter an den Arduino übergeben. Das größte Problem ist, dass ich keine Ahnung habe, wie ich auf den Joystick zugreifen kann oder die Daten am USB-Port auslesen kann. Kann mir da jemand weiterhelfen?

Liebe Grüße und Vielen Dank
Marvin

marvin23:
Ich möchte den Joystick via USB an den PC anschließen und die Daten auslesen und über USB dann weiter an den Arduino übergeben. Das größte Problem ist, dass ich keine Ahnung habe, wie ich auf den Joystick zugreifen kann oder die Daten am USB-Port auslesen kann. Kann mir da jemand weiterhelfen?

Da bist Du in einem PC-Hardwareforum mit Sicherheit an einer besseren Adresse als hier. Evtl. fragst Du auch mal in der Newsgruppe de.comp.hardware.misc

Wann ist bloß wieder Wochenende???!

Gruß

Gregor

Du brauchst eine Software für den PC, die die Daten des Joysticks empfängt und über eine serielle Schnittstelle an den Arduino weiterleitet.
Diese Software kannst du entweder selbst schreiben, in einer Programmier- oder Scriptsparache die dir geläufig ist (etwa Python, C++, AutoIt etc.), oder vorhandene Software verwenden, die das macht, was du möchtest.
Mir ist keine vorhandene Software bekannt, die genau das macht, aber du könntest ja mal Google fragen :slight_smile:

Mögliche Alternative:
Für den Arduino gibt es ein USB-Host-Shield. Damit könntest du den Joystick direkt an einen Arduino anschließen, den Joystick damit auslesen und "ein paar Dinge ansteuern".

Hallo,

Alternativ: Ein USB Host Shield oder zB: das Arduino Mega ADK (hat einen USB Host) kann hier auch weiterhelfen. Ich hab mal so Daten eines Joysticks eingelesen und so spart man sich auch gleich den Umweg über den PC. In der Library sind auch Beispiele für den Joystick.

edit: Falls es Dich interessiert, hier ist die lib dazu. Das Mega ADK verwendest wie das USB Host Shield einen MAX3421E. Native USB, also einen Host durch USB OTG geht mit dieser Library nicht, auch nicht mit jedem Arduino.

Grüße,
Donny

uxomm:
Mögliche Alternative:
Für den Arduino gibt es ein USB-Host-Shield. Damit könntest du den Joystick direkt an einen Arduino anschließen, den Joystick damit auslesen und "ein paar Dinge ansteuern".

Der PC soll später als Bodenstation für ein UAV dienen, daher kann ich das Host-Shield ausschließen.

uxomm:
Du brauchst eine Software für den PC, die die Daten des Joysticks empfängt und über eine serielle Schnittstelle an den Arduino weiterleitet.
Diese Software kannst du entweder selbst schreiben, in einer Programmier- oder Scriptsparache die dir geläufig ist (etwa Python, C++, AutoIt etc.), oder vorhandene Software verwenden, die das macht, was du möchtest.
Mir ist keine vorhandene Software bekannt, die genau das macht, aber du könntest ja mal Google fragen :slight_smile:

Genau das ist der Plan. Python und C++ beherrsche ich, jedoch fehlt mir da grade der Ansatz/die Idee. Das Weiterleiten über USB an den Arduino klappt mit der Python-Bibliothek zumindest mit Tastatureingabe. Jedoch bei dem Empfangen der Daten des Joysticks komm ich momentan nicht weiter :confused:

marvin23:
Genau das ist der Plan. Python und C++ beherrsche ich, jedoch fehlt mir da grade der Ansatz/die Idee. Das Weiterleiten über USB an den Arduino klappt mit der Python-Bibliothek zumindest mit Tastatureingabe. Jedoch bei dem Empfangen der Daten des Joysticks komm ich momentan nicht weiter :confused:

Wenn du Python-Kenntnisse hast, dann sind das schon mal gute Voraussetzungen denke ich.
Allerdings ist dieser Teil kein "Arduino-Problem" und ich würde eher in einem Python-Forum nachfragen. Es geht ja "nur" um das Empfangen von Daten vom USB-Joystick und um die Ausgabe an eine Serielle Schnittstelle (letzteres funktioniert ja schon).
Leider kann ich dabei nicht weiterhelfen, meine Python-Kenntnisse sind gering und reichen nicht über "schon mal ein wenig ausprobiert" hinaus. :slight_smile:

Schau dir mal pygame an.
Oder benutz direkt die Windows API (wie z.B. hier: https://gist.github.com/rdb/8883307 )

Rintin:
Schau dir mal pygame an.
Oder benutz direkt die Windows API (wie z.B. hier: https://gist.github.com/rdb/8883307 )

Super Tipp :slight_smile:
Danke an Alle