Inhoudsopgave:

USB NES-controller met een Arduino!: 6 stappen (met afbeeldingen)
USB NES-controller met een Arduino!: 6 stappen (met afbeeldingen)

Video: USB NES-controller met een Arduino!: 6 stappen (met afbeeldingen)

Video: USB NES-controller met een Arduino!: 6 stappen (met afbeeldingen)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, December
Anonim
USB NES-controller met een Arduino!
USB NES-controller met een Arduino!
USB NES-controller met een Arduino!
USB NES-controller met een Arduino!

UPDATE 22-12-2014Instructables-gebruiker mattpbooth heeft de code bijgewerkt en host deze op github:

github.com/mattpbooth/ArduinoNESController…

Bedankt Mat!

UPDATE 12-03-2011

Een println vervangen door print (derp).

UPDATE 01-12-2011

Alle code opnieuw gemaakt.

Opnieuw gemaakte 'ible code sectie; Bevat nu een 'Com-poortconfiguratie verwerken voor dummies'

Dames en heren, met trots presenteer ik 8bit pleasure.. de jouwe voor het grijpen! Of je nu GNU/Linux, Mac OS X of Windows gebruikt, de USB NES-controller is compatibel.

Zal dit op enigerlei wijze de controller veranderen?

Nee, de controller blijft hetzelfde, dus je kunt hem nog steeds gebruiken op een echte NES

Maar ik heb geen arduino;_;

U kunt de parallelle poort gebruiken:

Koop een arduino:

Of een retrozone NES-kit:

Stap 1: Ingrediënten voor een geweldige controllersoep

Ingrediënten voor een geweldige controllersoep
Ingrediënten voor een geweldige controllersoep

Je hebt nodig: Een NES-controller Een Arduino A USB-kabel type B Iets dat je kunt gebruiken als Behuizing en wat draad. Optioneel: NES-poort 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/ Verwerking

Stap 2: Hoe de Arduino op de Nes-controller aan te sluiten?

Hoe de Arduino op de Nes-controller aan te sluiten?
Hoe de Arduino op de Nes-controller aan te sluiten?
Hoe de Arduino op de Nes-controller aan te sluiten?
Hoe de Arduino op de Nes-controller aan te sluiten?
Hoe de Arduino op de Nes-controller aan te sluiten?
Hoe de Arduino op de Nes-controller aan te sluiten?

Verbind met wat draad de pinnen volgens de teksten op beide foto's.. Je zou ook de controllerpoort van een NES kunnen gebruiken (een kapotte, verspil geen werkende). Je wilt iets dat vaag lijkt op de laatste foto.

Stap 3: Coderen

UPDATE 22-12-2014

Instructables-gebruiker mattpbooth heeft de code bijgewerkt en host deze op github:

github.com/mattpbooth/ArduinoNESController

Bedankt Mat!

Hey jongens, ik heb de code volledig herschreven en het zou nu perfect moeten werken. De enige aanpassing die u mogelijk moet maken, is de Processing Sketch; je moet aanpassen welke COM-poort het moet gebruiken. Volg hiervoor deze stappen zorgvuldig!

Stappen

1) Koppel de Arduino los als deze is aangesloten. 2) Voer de Processing-schets uit, deze ZAL(!) een fout weergeven. 3) Controleer de console (zwarte doos met tekst onderaan de verwerking) 4) In de console zal een lijst met actieve COM-poorten zijn;

Seriële lijst WAARSCHUWING: RXTX-versie komt niet overeen Jar-versie = RXTX-2.2pre1 native lib-versie = RXTX-2.2pre2 [0] "COM3" Einde van seriële lijst

5) Zoals u kunt zien, is COM3 momenteel actief en is het momenteel de eerste COM-poort (aangeduid met "[0]") 6) Als de Processing-schets is uitgevoerd zonder een fout weer te geven, drukt u op de stopknop. 7) Sluit de arduino aan. 8) Voer de Processing-schets opnieuw uit. 9) Controleer de console op actieve com-poorten;

Seriële lijst WAARSCHUWING: RXTX-versie komt niet overeen Jar-versie = RXTX-2.2pre1 native lib-versie = RXTX-2.2pre2 [0] "COM3" [1] "COM5" Einde van seriële lijst

10) Zoals je kunt zien verscheen COM5 plotseling in de lijst nadat we de arduino hadden aangesloten. 11) We weten nu dat de arduino COM5 heeft en de tweede COM-poort is (aangeduid met "[1]") 12) We weten dat we onze code aanpassen;

Vervang: arduino = new Serial(this, Serial.list()[?], 9600); // AANDACHT!!!

Met: arduino = nieuwe Serial(this, Serial.list()[1], 9600); // AANDACHT!!!

13) Sla het programma op. 14) Laad de Arduino-schets in de Arduino. 15) Start de Processing-schets!

Stap 4: Een zaak maken

Een zaak maken
Een zaak maken
Een zaak maken
Een zaak maken
Een zaak maken
Een zaak maken
Een zaak maken
Een zaak maken

Laat je fantasie de vrije loop! Ik stopte mijn Arduino in een oude printeradapter die ik vond en ik denk dat het er best goed uitziet =) Ik deed dit door de adapter te strippen en alleen de 'nippel' op te slaan. Ik heb de 'nippel' van de kabel verwijderd door met een mes in één kant te snijden, waarna de originele kabel eruit kon en vervangen kon worden door mijn USB-kabel. De adapter had een klein gaatje (die ik gebruikte voor de usb-kabel) en een groot gat dat ik gebruikte voor de NES-controller. Het grote gat was echter niet groot genoeg dus ik heb er met een zaag wat weggezaagd (heel slordig) waarna het te groot werd, dit heb ik tijdelijk verholpen door wat plakband om de controller plug te plakken. Ik heb momenteel een kapotte NES besteld om de controllerpoort van te oogsten om het meer… sexy te maken.

Stap 5: Het leeft

Ik heb momenteel geen camera bij de hand, dus hier is een korte desktopfilm waarin ik wat knoppen op de besturing beuk. Als je een foutbestand krijgt waarin staat dat java niet is gevonden, moet je het (opnieuw) installeren https://java.com/ Voor het geval iemand zich afvraagt waarom ik een batchbestand heb gemaakt; Ik was te lui om Java opnieuw te installeren en maakte een kleine handmatige oplossing. Trouwens, om een NES-spel op je computer te spelen heb je een emulator nodig: [windows] https://www.emulator-zone.com/doc.php/nes/ (Als je Vista gebruikt, gebruik dan FakeNes) [Mac] https://www.zophar.net/macintosh/nes.html [Linux] https://www.zophar.net/linux/nes.html En je hebt natuurlijk wat games (ROMS) nodig, maar deze zijn illegaal om te downloaden (Ja, zelfs als je het origineel bezit) dus wat je ook doet, download ze niet en vooral niet van deze site https://vimm.net/ want die is de meest illegale van allemaal *GASP*

Stap 6: Aanvullende informatie

Extra informatie
Extra informatie

Meer detailsIn de NES-controller bevindt zich een 8-bits schuifregister. Door de vergrendelingspin een paar microseconden hoog te houden, zeg ik dat de chip gegevens naar mij moet spuwen. Wanneer dit gebeurt, wordt de eerste byte beschikbaar om over de seriële pin te lezen. Als ik de volgende byte wil ontvangen, moet ik de klokpen 200 microseconden hoog zetten. Ik moet de klokpen 7 keer 'flashen' om alle bytes te krijgen/*Latch highWacht 200 microsecondenLatch lowLees serieelWacht 200 microsecondenHerhaal 7 keer [Klok hoog Wacht 200 microseconden Lees serieel Klok laag Wacht 200 microseconden]*/SNES-controllerDe code die ik heb geschreven kan ook worden gebruikt met een SNES-controller!Als iemand een verzoek doet, kan ik dit uitbreiden om ook te laten zien hoe dat moetOrigineel codehttps://little-scale.blogspot.com/2007/07/nes-controller-to-arduino.html'and eindelijk.. Dit is mijn eerste instructable, dus ga hard op me =P (ja hard, niet zacht = P)

Aanbevolen: