Hallo zusammen, ich möchte gerne ein Joystick was durch ein USB shield mit einer Atmega 2560 verbunden ist auswerten. Nun ist die frage wie werte ich es aus bzw. auf welchen Pin von Atmega 2560 bekomme ich die Signale von dem USB shield.
V.Vitusen@hotmail.de schrieb: > Nun ist die frage wie werte ich es aus > bzw. auf welchen Pin von Atmega 2560 bekomme ich die Signale von dem USB > shield. ...schaue in den Schaltplan/Doku (S.42) deines (unbekannten) Shield...
Redesign! USB Host ist Scheisse zu Programmieren - man will da ein Linux unten drunter haben. Die HID Spec für u.a. Maus, Tastatur und Joystick ist überraschend kompliziert. Ein USB Host Shield ohne Schaltplan oder Beispielcode ist schlecht benutzbar.
Jim M. schrieb: > Ein USB Host Shield Das nimmst du jetzt aber auch nur an, oder? V.Vitusen@hotmail.de schrieb: > von dem USB shield. Das siehst du sicher leicht, wenn du den Schaltplan "von dem USB shield" anschaust. Irgendwie arg trollig, das hier...
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?
An dieser Stelle sollte man sich mal grundlegend Gedanken um das Wort "USB-Host" machen. So einen braucht man nämlich, um ein "USB-Device" anzuschließen.
:
Bearbeitet durch Moderator
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.
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
Hallo zusammen, habe mir den Sain Smart Host shield geholt. Die verbindung zwischen USB und Atmge 2560 findet durch MAX3421E statt. Nun habe ich im Datenblatt von MAX3421E nachgeschaut und leider nix gefunde. ICh hoffe das jmd mir helfen kann. https://www.amazon.de/SainSmart-Android-Shield-Arduino-Mega2560/dp/B00GHD2ZIE/ref=asc_df_B00GHD2ZIE/?tag=googshopde-21&linkCode=df0&hvadid=310638483583&hvpos=1o2&hvnetw=g&hvrand=7503534825793549395&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9042109&hvtargid=pla-565110403661&psc=1&th=1&psc=1&tag=&ref=&adgrpid=63367893073&hvpone=&hvptwo=&hvadid=310638483583&hvpos=1o2&hvnetw=g&hvrand=7503534825793549395&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9042109&hvtargid=pla-565110403661
Ach du willst einen USB Stick anschließen? Da musst du einen kompletten USB Host Stack aufbauen und die Descriptoren richtig setzen, dass ein Joy device erkannt wird. Viel Spaß.
ich möchte ein ARduino was mit 2 Motorren verbunden ist mit einem USB Joystick steuern. Und das ganze soll über MAtlab Simulink laufen.
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.
mi dem analogen Joystick habe ich schon hinbekommen. Nun möchte ich es durch ein USB Joystick ersetzen. Aber ich versuch es mal wie du oben beschrieben hast. Vielen dank
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.
:
Bearbeitet durch User
Es gibt eh schon fix und fertige Lösungen für das USB Shield mit USB Joystick: https://forum.arduino.cc/index.php?topic=511952.0 https://arduino.stackexchange.com/questions/31986/arduino-usb-host-shield-with-joystick
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.
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
V.Vitusen@hotmail.de schrieb: > Ich möchte zuerst aber dazu bringen das mein USB host signale auf mein > Arduino überträgt. Was hat das mit V.Vitusen@hotmail.de schrieb: > jedoch muss ich das ganze in MAtlab simulink steuern zu tun?
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 :)
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.