Inhaltsverzeichnis:

USB-NES-Controller mit einem Arduino! - Gunook
USB-NES-Controller mit einem Arduino! - Gunook

Video: USB-NES-Controller mit einem Arduino! - Gunook

Video: USB-NES-Controller mit einem Arduino! - Gunook
Video: SNES to USB Gamepad Arduino Project For Retro Gaming 2024, November
Anonim
USB-NES-Controller mit einem Arduino!
USB-NES-Controller mit einem Arduino!
USB-NES-Controller mit einem Arduino!
USB-NES-Controller mit einem Arduino!

UPDATE 22-12-2014Instructables-Benutzer mattpbooth hat den Code aktualisiert und hostet ihn auf github:

github.com/mattpbooth/ArduinoNESController…

Danke Matt!

AKTUALISIERUNG 12.03.2011

Println durch print (derp) ersetzt.

AKTUALISIERUNG 01-12-2011

Den gesamten Code von Grund auf neu erstellt.

Überarbeiteter Code-Abschnitt; Enthält jetzt eine 'Verarbeitung der COM-Port-Konfiguration für Dummies'

Meine Damen und Herren, stolz präsentiere ich Ihnen 8bit-Vergnügen.. zum Greifen nah! Egal, ob Sie GNU/Linux, Mac OS X oder Windows verwenden, der USB-NES-Controller ist kompatibel.

Ändert das in irgendeiner Weise den Controller?

Nein, der Controller bleibt derselbe, sodass Sie ihn weiterhin auf einem echten NES verwenden können

Aber ich habe kein Arduino;_;

Sie können die parallele Schnittstelle verwenden:

Kaufen Sie ein Arduino:

Oder ein Retrozone NES-Kit:

Schritt 1: Zutaten für eine fantastische Controller-Suppe

Zutaten für eine fantastische Controller-Suppe
Zutaten für eine fantastische Controller-Suppe

Sie benötigen: Ein NES-Controller Ein Arduino Ein USB-Kabel Typ B Etwas, das Sie als Gehäuse und etwas Draht verwenden können. Optional: NES-Port https://www.parallax.com/Store/Components/Other/tabid/157/ CategoryID/32/List/0/SortField/0/Level/a/ProductID/522/Default.aspx Arduino-Software https://arduino.cc/ Verarbeitung

Schritt 2: So verbinden Sie das Arduino mit dem Nes Controller

So verbinden Sie den Arduino mit dem Nes-Controller
So verbinden Sie den Arduino mit dem Nes-Controller
So verbinden Sie den Arduino mit dem Nes-Controller
So verbinden Sie den Arduino mit dem Nes-Controller
So verbinden Sie den Arduino mit dem Nes-Controller
So verbinden Sie den Arduino mit dem Nes-Controller

Verbinden Sie die Pins mit etwas Draht gemäß den Texten auf beiden Bildern. Sie können auch den Controller-Port eines NES verwenden (ein defekter, verschwenden Sie keinen funktionierenden). Sie möchten etwas, das dem letzten Bild vage ähnelt.

Schritt 3: Code

AKTUALISIERUNG 22-12-2014

Instructables-Benutzer mattpbooth hat den Code aktualisiert und hostet ihn auf github:

github.com/mattpbooth/ArduinoNESController

Danke Matt!

Hey Leute, ich habe den Code komplett neu geschrieben und er sollte jetzt einwandfrei funktionieren. Die einzige Anpassung, die Sie möglicherweise vornehmen müssen, ist die Verarbeitungsskizze; Sie müssen einstellen, welcher COM-Port verwendet werden soll. Befolgen Sie dazu diese Schritte bitte sorgfältig!

Schritte

1) Trennen Sie das Arduino, wenn es angeschlossen ist. 2) Führen Sie die Verarbeitungsskizze aus, sie wird (!) einen Fehler anzeigen. 3) Überprüfen Sie die Konsole (schwarzes Kästchen mit Text am unteren Rand der Verarbeitung) 4) In der Konsole wird eine Liste der aktiven COM-Ports angezeigt;

Seriennummernliste WARNUNG: RXTX-Version stimmt nicht überein Jar-Version = RXTX-2.2pre1 native lib-Version = RXTX-2.2pre2 [0] "COM3" Ende der Seriennummernliste

5) Wie Sie sehen, ist derzeit COM3 aktiv und der erste COM-Port (gekennzeichnet durch "[0]") 6) Wenn die Verarbeitungsskizze ohne Fehleranzeige lief, drücken Sie die Stopptaste. 7) Schließen Sie das Arduino an. 8) Führen Sie die Verarbeitungsskizze erneut aus. 9) Überprüfen Sie die Konsole auf aktive COM-Ports;

Serielle Liste WARNUNG: RXTX Version stimmt nicht überein Jar-Version = RXTX-2.2pre1 native lib Version = RXTX-2.2pre2 [0] "COM3" [1] "COM5" Ende der Serienliste

10) Wie Sie sehen, erschien COM5 plötzlich in der Liste, nachdem wir das Arduino angeschlossen hatten. 11) Wir wissen jetzt, dass das Arduino COM5 hat und der zweite COM-Port ist (bezeichnet mit "[1]") 12) Wir wissen, dass wir unseren Code anpassen;

Ersetzen: arduino = new Serial (dies, Serial.list () [?], 9600); // BEACHTUNG!!!

Mit: arduino = new Serial (dies, Serial.list () [1], 9600); // BEACHTUNG!!!

13) Speichern Sie das Programm. 14) Laden Sie die Arduino-Skizze in das Arduino. 15) Starten Sie die Verarbeitungsskizze!

Schritt 4: Einen Fall erstellen

Einen Fall erstellen
Einen Fall erstellen
Einen Fall erstellen
Einen Fall erstellen
Einen Fall erstellen
Einen Fall erstellen
Einen Fall erstellen
Einen Fall erstellen

Lassen Sie Ihrer Fantasie freien Lauf! Ich habe mein Arduino in einen alten Druckeradapter gesteckt, den ich gefunden habe, und ich denke, er sieht ziemlich gut aus =) Ich habe dies getan, indem ich den Adapter entkernt und nur die "Nippel" gespeichert habe. Ich entfernte den 'Nippel' vom Kabel, indem ich mit einem Messer an einer Seite einschnitt, wonach das Originalkabel herausgedrückt und durch mein USB-Kabel ersetzt werden konnte. Der Adapter hatte ein kleines Loch (das ich für das USB-Kabel verwendet habe) und ein großes Loch, das ich für den NES-Controller verwendet habe. Das große Loch war jedoch nicht groß genug, also schnitt ich etwas mit einer Säge ab (sehr schlampig), wonach es zu groß war. Ich habe dies vorübergehend behoben, indem ich etwas Klebeband um den Controller-Stecker gelegt habe. Ich habe derzeit ein kaputtes NES bestellt, um den Controller-Port zu ernten, um es sexy zu machen.

Schritt 5: Es lebt

Ich habe derzeit keine Kamera zur Hand, daher ist hier ein kurzer Desktop-Film, in dem ich einige Tasten auf den Steuerelementen schlage. Wenn Sie eine Fehlerdatei erhalten, die besagt, dass Java nicht gefunden wurde, müssen Sie sie (erneut) installieren https://java.com/ Falls sich jemand fragt, warum ich eine Batch-Datei erstellt habe; Ich war zu faul, Java neu zu installieren und habe eine kleine manuelle Korrektur vorgenommen. Übrigens, um ein NES-Spiel auf Ihrem Computer zu spielen, benötigen Sie einen Emulator: [windows] https://www.emulator-zone.com/doc.php/nes/ (Wenn Sie Vista verwenden, verwenden Sie FakeNes) [Mac] https://www.zophar.net/macintosh/nes.html [Linux] https://www.zophar.net/linux/nes.html Und Sie werden natürlich einige Spiele (ROMs) brauchen, aber diese sind illegal herunterzuladen (Ja, selbst wenn Sie das Original besitzen) laden Sie sie also nicht herunter und schon gar nicht von dieser Seite https://vimm.net/, denn diese ist die illegalste von allen *GASP*

Schritt 6: Zusätzliche Informationen

Zusätzliche Information
Zusätzliche Information

Mehr DetailsIm Inneren des NES-Controllers befindet sich ein 8-Bit-Schieberegister. Indem ich den Latch-Pin für einige Mikrosekunden auf High lege, sage ich dem Chip, dass er damit beginnen soll, Daten auf mich zu spucken. Wenn dies geschieht, wird das erste Byte zum Lesen über den seriellen Pin verfügbar. Wenn ich das nächste Byte empfangen möchte, muss ich den Clock-Pin für 200 Mikrosekunden hoch setzen. Ich muss den Clock-Pin 7-mal "flashen", um alle Bytes zu erhalten / * Latch highWait 200 MikrosekundenLatch lowRead serialWait 200 Mikrosekunden 7-mal wiederholen [Clock high Wait 200 Mikrosekunden Read Serial Clock low Wait 200 Mikrosekunden]*/SNES-ControllerDer Code, den ich geschrieben habe, kann auch mit einem SNES-Controller verwendet werden!Wenn jemand eine Anfrage stellt, kann ich dies erweitern, um auch zu zeigen, wie das gehtOriginal codehttps://little-scale.blogspot.com/2007/07/nes-controller-to-arduino.html'und schließlich.. Dies ist mein erstes anweisbares, also geh hart auf mich =P (ja hart, nicht weich = P)

Empfohlen: