Inhoudsopgave:
- Stap 1: Bedrading van de controller
- Stap 2: Pak de code uit en voer de code uit
- Stap 3: Stel project 64 in
- Stap 4: Arduino-code in diepte
- Stap 5: Referenties
Video: Gebruik een Arduino met een N64-controller: 5 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:20
Er zijn tutorials voor het gebruik van een NES-controller met een Arduino, maar het gebruik van de meer gecompliceerde N64-controller en de analoge joystick heeft een duidelijke aantrekkingskracht. Als je een Arduino in de buurt hebt en geen Adaptoid wilt kopen, maakt deze instructable het mogelijk om geëmuleerde games in Project 64 te spelen met je Ardunio en een N64-controller. Is dit moeilijk? / Zal het mijn spullen beschadigen? Dit zal uw controller op geen enkele manier wijzigen en de bedrading is uiterst eenvoudig, dus als u alles zorgvuldig doet, zou er geen risico voor uw controller moeten zijn, en u kunt hem op elk moment loskoppelen om te gebruiken met een N64-console. nodig: Arduino - $ 30 Processing 1.0 - gratis Arduino-software - gratis 3 stukjes draad - gratis (hoop ik) USB-kabel
Stap 1: Bedrading van de controller
Het eerste dat u hoeft te doen, is uw Arduino op de controller aansluiten. De controller gebruikt slechts drie kabels: +3,3 V, signaal en aarde. Als je rechtstreeks naar de stekker kijkt, is de aarde het meest links, het signaal in het midden en +3,3V rechts. Gebruik de draad om aarde en +3,3 V aan te sluiten op de respectieve pinnen op de Arduino en sluit de signaalkabel aan op de digitale 2-pin op de Ardunio. OPMERKING: als u een andere code op uw Arduino heeft, moet u de controller loskoppelen en uploaden de nieuwe code van de volgende pagina naar de Arduino voordat u hem opstart met de aangesloten controller. Sluit de Arduino aan Sluit de USB-kabel aan en de Arduino krijgt stroom.
Stap 2: Pak de code uit en voer de code uit
Deze code is door mij geschreven, met delen van het N64_Arduino-bestand gebaseerd op assembly-code geschreven door Andrew Brown. ZIP-archieven: De twee zip-bestanden hieronder bevatten de code die nodig is om de Arduino te laten werken en vervolgens om de gegevens te interpreteren die het naar de computer stuurt. Het N64_Arduino-bestand moet worden gecompileerd in de Arduino IDE, en de N64_Controller draait in Processing 1.0. N64_Arduino. Dit PDE-bestand zou naar je Arduino moeten uploaden en probleemloos moeten werken als je alles goed hebt aangesloten. Het vraagt eenvoudigweg de N64-controller om gegevens over de knoppen en analoge stick en stuurt deze terug naar de computer via de seriële poort. Het is eenvoudig genoeg om te wijzigen, u kunt bijvoorbeeld de methoden uit dit bestand gebruiken om een controller te bevragen en de gegevens te gebruiken om een Arduino-robot te laten werken in plaats van deze terug te sturen naar de computer. N64_Controller Dit is een Processing 1.0-project dat de gegevens die door de Arduino worden verzonden en converteren naar toetsenborddrukken die u kunt toewijzen aan een emulator zoals Project 64. Mogelijk moet u de regel String portName = Serial.list()[1]; om overeen te komen met uw Arduino, moet het ofwel Serial.list()[0] zijn; Serieel.lijst()[1]; of Serial.list()[2]; BEWERKEN: "import java.awt. Robot;" toevoegen "import java.awt. AWTException;" "import java.awt.event. InputEvent;"naar de code als je Processing 1.1N64_Controller_mouse gebruikt Dit is hetzelfde als N64_Controller, behalve dat de analoge stick je muis bestuurt, niet de pijltjestoetsen. A en B zijn respectievelijk rechts en links klikken. Om de muis te activeren, drukt u op de startknop op uw controller.
Stap 3: Stel project 64 in
Voordat u de controller kunt gebruiken, moet de Arduino zijn aangesloten en moet de code worden uitgevoerd die u in de laatste stap hebt gedownload, en moet Processing 1.0 geopend zijn terwijl het N64_Controller-programma draait. Test het uit in Kladblok, druk op de A-knop moet een A typen, B moet een B typen, enz. Dus nu heb je een werkende controller (hopelijk) en je wilt wat games spelen. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Set Key MappingsStart PJ 64 en open eerst het instellingenmenu (Ctrl+T). Verander de ingangscontroller naar de directe ingang van N-Rage. Open het menu "Configure Controller Plugin" en stel de toewijzingen in met de controller. Begin met spelen! Je zou nu helemaal klaar moeten zijn! Download enkele ROM's en begin te genieten van je zelfgemaakte N64-adapter.
Stap 4: Arduino-code in diepte
Het N64-protocol De bits die van en naar de N64-controller op de eendraadsinterface worden verzonden, worden gecodeerd in pulsen van 4 µs breed. Een '0' is 3 µs laag en 1 µs hoog. Een '1' is 1 µs laag en 3 µs hoog. De Arduino-code in de methoden N64_send of N64_receive gebruikt zeer zorgvuldig getimede assemblagecode geschreven door Andrew Brown om de datalijn te bit-bangen om met de controller te communiceren. nop-blokken worden gebruikt om de juiste hoeveelheden µs te wachten voordat de regel voor het verzenden van gegevens wordt gepold. Bij het opstarten wordt 0x00 naar de controller gestuurd en daarna is het enige commando dat wordt gebruikt 0x01 om de status van de controller op te vragen. analoge joystickinformatie. De gegevens zien eruit als 44000000000000400044440044000444. Het formaat van de bits is: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bits analoog stok positie. De methode translate_raw_data() doorloopt de 32 bits en voegt ze in de struct N64_status in. De eerste 16 bits zijn eenvoudig 1 of 0, maar de laatste 16 worden vertaald in een geheel getal ongeveer in het bereik (-80, 80) door for (i=0; i<8; i++) { N64_status.stick_x |= N64_raw_dump[16+i] ? (0x80 >> i): 0; } Nadat de gegevens in deze eenvoudige vorm zijn, is het gemakkelijk om ermee te doen wat je wilt. In dit geval wordt het eenvoudig via de seriële poort in de loop()-methode verzonden als een reeks binaire gegevens met twee gehele getallen voor de x- en y-waarden. De gegevens die via de seriële poort worden verzonden, kunnen er als volgt uitzien: 0400000000000400 63 -67, wat zou betekenen dat er twee knoppen werden ingedrukt en de stuurknuppel op 63, -67 stond.
Stap 5: Referenties
Het project van Andrew Brown om een gamecube naar N64-adapter te maken met de Arduino was van onschatbare waarde tijdens het coderen voor dit project:
Handige schema's zijn hier te vinden: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Informatie over het eigen protocol van de N64-controllers is hier te vinden:
Aanbevolen:
Een menu in Arduino en het gebruik van knoppen: 10 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een menu in Arduino en het gebruik van knoppen: in mijn Arduino 101-zelfstudie leert u hoe u uw omgeving in Tinkercad kunt instellen. Ik gebruik Tinkercad omdat het een behoorlijk krachtig online platform is waarmee ik een reeks vaardigheden aan studenten kan demonstreren voor het bouwen van circuits. Voel je vrij om
Een Zalman VF900-Cu-koellichaam installeren op een Radeon X800 XT Mac Edition voor gebruik in een Apple G5 Tower: 5 stappen
Een Zalman VF900-Cu-koellichaam installeren op een Radeon X800 XT Mac Edition voor gebruik in een Apple G5 Tower: de standaard disclaimer - Dit is hoe ik het deed. Het werkte voor mij. Als je je G5, Radeon X800 XT, of je huis, auto, boot, enz. laat ontploffen, ben ik niet aansprakelijk! Ik geef informatie op basis van mijn eigen kennis en ervaring. Ik geloof dat alle st
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e
Nog een andere instructie over het gebruik van de DIYMall RFID-RC522 en Nokia LCD5110 met een Arduino: 8 stappen (met afbeeldingen)
Nog een andere Instructable over het gebruik van de DIYMall RFID-RC522 en Nokia LCD5110 met een Arduino: waarom voelde ik de behoefte om nog een Instructable te maken voor de DIYMall RFID-RC522 en de Nokia LCD5110? Nou, om je de waarheid te zeggen, ik werkte ergens vorig jaar aan een Proof of Concept met beide apparaten en op de een of andere manier "misplaatst"
Voeg een pc-synchronisatie-aansluiting toe aan een Nikon Sc-28 Ttl-kabel (gebruik de automatische instellingen voor een aan-cameraflits en trigger-uit-cameraflitsen!!): 4 stappen
Voeg een Pc Sync-aansluiting toe aan een Nikon Sc-28 TTL-kabel (gebruik Auto-instellingen voor een on Camera Flash en Trigger Off Camera Flashes !!): in deze instructable laat ik je zien hoe je een van die vervelende gepatenteerde 3-pins TTL-connectoren op de zijkant van een Nikon SC-28 off-camera TTL-kabel en vervang deze door een standaard pc-synchronisatieconnector. hierdoor kunt u een speciale flitser gebruiken, s