Joystick signale auswerten

Gast #5917725
Lesenswert?

Bei so einem Joystick, kann man da nicht einfach einen USB->PS2 Adapter 
nehmen, und dann das ding über PS2 ansteuern? Btw, eventuell könnte man 
den Adapter ja sogar weglassen, und mit dem USB direkt PS2 reden, das 
ist ja in der regel eh direkt verbunden?
Persönliche Seite #5918232
Lesenswert?

DPA schrieb:
> Bei so einem Joystick, kann man da nicht einfach einen USB->PS2 Adapter
> nehmen, und dann das ding über PS2 ansteuern?

Natürlich nicht.

So ein "USB->PS/2-Adapter" ist passiv und enthält keine Elektronik. Er 
funktioniert nur an "bilingualen" Geräten, d.h. Mäusen und Tastaturen, 
die vom Hersteller dafür vorgesehen sind, sowohl USB- als auch 
PS/2-Signale zu erzeugen. Der Adapter schaltet nur die Betriebsart um.

Dazu kommt noch, daß es keine PS/2-Joysticks gibt.
(Firma: Schweigstill IT) Persönliche Seite #5918257
Lesenswert?

Rufus Τ. F. schrieb:
> Dazu kommt noch, daß es keine PS/2-Joysticks gibt.

Genau. Früher(tm) wurden analoge PC-Joysticks üblicherweise per 
D-Sub-15-Stecker in die Soundkarte angeschlossen.

https://de.wikipedia.org/wiki/Gameport

Bei den meisten anderen Computern wurden überwiegend Joysticks 
eingesetzt, die einfach nur aus eine Handvoll Tastern bestanden. Es gab 
einen da den Atari-Pseudostandard, der auch von Commodore und Co. 
verwendet wurden, d.h. auf Basis von D-Sub-9-Steckverbindern. Diese 
waren natürlich nicht als EIA232 beschaltet, sondern es wurden einfach 
die Kontakte herausgeführt.

https://de.wikipedia.org/wiki/Competition_Pro
Gast #5919451
Lesenswert?

Persönliche Seite #5919510
Lesenswert?

V.Vitusen@hotmail.de schrieb:
> Nun habe ich im Datenblatt von MAX3421E nachgeschaut und leider nix
> gefunde.

Das ist ein USB-Host. Du musst also "nur" einen USB-Host-Stack auf 
Deinem Arduino implementieren und dann darauf aufsetzend die 
Kommunikation mit einem HID hinbekommen (das ist die von Joysticks, 
Mäusen und Tastaturen verwendete USB-Geräteklasse).

Einfacher:

Vergiss' den USB-Joystick. Einfache analoge Joysticks, die man mit sehr 
wenig Aufwand mit einem Arduino auswerten kann, gibt es für wenig Geld, 
entweder als Bauteile, auf "Breakout Boards" oder als Gebrauchtware von 
Leuten, die schon in der vor-USB-Zeit mit Joysticks gespielt haben.
(Firma: Schweigstill IT) Persönliche Seite #5919574
Lesenswert?

Thomas W. schrieb:
> Da musst du einen kompletten USB Host Stack aufbauen und die
> Descriptoren richtig setzen, dass ein Joy device erkannt wird.

Falsch. Die Deskriptoren müssen auf dem Gerät gesetzt werden und nicht 
auf dem Host. Der Host muss die Deskriptoren aus dem Gerät auslesen und 
dementsprechend Treiber laden, Geräteklassen initialisieren, usw..

Bei dem Projekt des TE würde ich jedoch den Aufwand auf Host-Seite 
minimieren, d.h. maximal den Device Descriptor abfragen und einen sehr 
flüchtigen Blick darauf werfen, um zu erkennen, dass ein Gerät 
angeschlossen und initialisiert ist. Der Rest, insbesondere die 
Kanalbelegung im HID-Joystick-Modell, kann in die Firmware fest 
hineinkodiert sein und muss nur angepasst werden, wenn ein anderer 
Joysticktyp eingesetzt wird. Das erstmalige Auslesen aller Deskriptoren 
und der Kanalkonfiguration kann lieber gemütlich auf einem PC mit den 
entsprechenden USB-Analyseprogrammen erfolgen.

Ein vollständiger USB-Host-Stack wäre natürlich um etliche 
Größenordnungen komplexer, insbesondere wenn er auch noch das 
Powermanagement betreiben und USB-Hubs initialisieren und überwachen 
muss. Aber das kann man bei einer Verbindung genau eines USB-Geräts 
direkt am USB-Host (bzw. dessen integriertem Root-Hub) einsparen.
#5923452
Lesenswert?

mein erster gedanke war gerade: sollte dir da nicht ros entgegenkommen?
https://www.ros.org/
da kannst du deinen usb-joystick auch ganz bequem am pc betreiben und 
die matlab auswertung machen, zusätzlich kannst du den arduino mit daten 
versorgen, wie er die motoren steuern soll. ist vielleicht eine twas 
übertriebene lösung, aber du hast deine matlab-anbindung und deinen 
usb-joystick.
Gast #5923524
Lesenswert?

Auch ne gute idee.
Ich möchte zuerst aber dazu bringen das mein USB host signale auf mein 
Arduino überträgt. Sozusagen das  die Signal vom USB(Joystick) ankommen. 
Hat jmd ein Idee. HAbe mitbekommen das ich dazu erstmal ein Treiber 
installieren muss. ABer ganz verstanden habe ich leider nicht
Gast #5923633
Lesenswert?

Also ich möchte zu erst herrausfinden was mein Joystick für Signale 
ausgibt. Bzw. wenn ich mein Joystick nach vorne Bewege was für ein 
Signal und wo es ausgibt. Vllt lieg ich komplett flasch bin ein Anfänger 
:)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren