"NES Controller USB" an Teensy 3.2

Hallo miteinander,

ich habe einen NES Controller USB den ich gerne mit einem Teensy 3.2 verbinden möchte, so das ich alle Knöpfe darauf auslesen kann.

Am Teensy 3.2 ist aktuell ein OctoWS2811 Adaptor aufgelötet, mit einem Pixel Tisch (45*24).

Ziel ist es, Tetris, Snake, etc. später auf dem Pixel Tisch laufen zu lassen.
Als User Interface dachte ich an den "NES Controller USB" die frage ist nur wie bekomme ich den am
Teensy 3.2 richtig verbunden udn ausgelesen?

Gruß Mücke

Vor furchtbar langer Zeit habe ich dafür mal eine Maus zweckentfremdet.
Also den Anschluss abgekniffen und direkt die Klicks wie einen Button abgegriffen. Bei diesem Controller werden aber wohl die Werte digital übermittelt. Schätze da wird Dir ein USB-Host Shield weiterhelfen, damit Du den Controller wie eine Tastatur auslesen kannst.

Es sei denn, der Teensy kann auch als USB Host fungieren. Der kann ja so einiges :man_shrugging:t3:

Wohl war, nur müßte man wissen, welche Einstellung die passende ist:

Wie muss ich mir das vorstellen?
"USB Host fungieren" sprich ich könnte das USB Signal einlesen und verarbeiten?

Wie könnte ich das testen?

Genau! USB funktioniert immer mit einem Host und einem Client. Oder zwei Hosts, von denen sich dann einer eingesteht nur ein Client im Körper eines Hosts zu sein.
Sprich: Einer hat was zu sagen, der andere reagiert brav :slight_smile:

Bedeutet, Du kannst den NES-Controller per USB an den Teensy anschließen, das richtige Protokoll auswählen, was agmue gezeigt hat und Dir die Werte ausgeben, die der Controller an den Teensy sendet.
Vermutlich ist es einfacher den Controller mal an den PC zu klemmen und im Gerätemanager zu schauen was für ein Protokoll dieser hat.
Dann ggf. mit einem Tool die Eingaben abfangen, damit Du den Teensy schonmal entsprechend programmieren kannst.

Oder jemanden finden, der sowas bereits umgesetzt hat.
Hier mein Ansatz direkt auf die Kabel zu gehen. Oder wie der Host funktionieren kann.

EDIT:
Wenn ich die Einstellungen von agmue so richtig verstehe, sind das aber alles "Client"-Funktionalitäten.
Also wie der Teensy sich am PC identifiziert. Also wirst Du um ein Host-Shield nicht drumherum kommen.
Es gibt wohl eine Beta-Firmware die eine USB-Host Funktionalität biete, aber da erscheint mir der Weg einfacher über den 2. Link von mir.

Darum geht es doch, oder?

Ich kenne das mit MIDI, da ist der Teensy wie üblich mit der IDE verbunden und gleichzeitig sendet er auch MIDI-Befehle an ein PC-MIDI-Programm, damit eine "Klaviertaste" angeschlagen wird.

Bei Dir ist nun aber der NES Controller mit einem eigenen USB-Stecker ausgestattet. Wie Du das zusammenbekommst, weiß ich leider nicht.

Auf der Rückseite des Teensy kann man eine Kondensator anlöten "for Host mode".

Es gibt eine USB Host Shield Library

Ich denke schon das wir gerade nicht aneinander vorbei reden.

NES Controller an Teensy
Programm auf dem teensy soll mit NES Controller gesteuert werden können.

ich würde mir so ein kabel besorgen und den Stecker abschneiden, und die Kabel dann an den teensy Löten?

OK, wenn ich das richtig verstehe, der Link zeigt mir ein Platine mit der ich das USB Signal auswerten kann und dann über ein anderes Protokoll wieder weitergeben kann?

Oh man das wird echt komplex :see_no_evil:

Das schaut sehr gut aus. jedoch ist mein Englisch nicht gerade das beste und ich hoffe das ich es richtig verstanden habe.

  1. 1 x USB Host Controller Board V2.4 kaufen.
  2. 1 x USB Host - USB Joystick Software herunterladen
  3. Software auf "USB Host Controller Board V2.4" aufspielen
  4. USB Host Controller Board V2.4 per I2C an Teensy anschließen
  5. Hoffen das es klappt :wink:

Es scheint so als wenn die Software Automatisch Prüft was angeschlossen ist und dann ein Protokoll ausgibt.

Das gefällt mir! und würde die User Eingabe entsprechend vereinfachen.

Gruß Mücke