Innholdsfortegnelse:

Bruk en Arduino med en N64 -kontroller: 5 trinn (med bilder)
Bruk en Arduino med en N64 -kontroller: 5 trinn (med bilder)

Video: Bruk en Arduino med en N64 -kontroller: 5 trinn (med bilder)

Video: Bruk en Arduino med en N64 -kontroller: 5 trinn (med bilder)
Video: 📲 How To Transfer Game Boy Camera Photos on your Computer‽ | Nyedav 2024, Juni
Anonim
Bruk en Arduino med en N64 -kontroller
Bruk en Arduino med en N64 -kontroller

Det er opplæringsprogrammer der ute for bruk av en NES -kontroller med en Arduino, men bruk av den mer kompliserte N64 -kontrolleren og den analoge joysticken har en klar appell. Hvis du har en Arduino rundt og ikke vil kjøpe en Adaptoid, vil denne instruksen gjøre det mulig å spille etterlignede spill i Project 64 med Ardunio og en N64 -kontroller. Er dette vanskelig? / Vil det skade tingene mine? Dette vil ikke endre kontrolleren på noen måte, og ledningene er ekstremt enkle, så hvis du gjør alt nøye, bør det ikke være noen risiko for kontrolleren, og du kan når som helst fjerne den fra bruk med en N64 -konsoll. trenger: Arduino - $ 30 Behandling 1.0 - gratisArduino -programvare - gratis 3 stykker ledning - gratis (håper jeg) USB -kabel

Trinn 1: Koble til kontrolleren

Kabling av kontrolleren
Kabling av kontrolleren
Kabling av kontrolleren
Kabling av kontrolleren
Kabling av kontrolleren
Kabling av kontrolleren

Det første du må gjøre er å koble Arduino til kontrolleren. Kontrolleren bruker bare tre ledninger: +3.3V, signal og jord. Når du ser direkte på pluggen, er bakken lengst til venstre, signalet er i midten, og +3.3V er til høyre. Bruk ledningen til å koble jord og +3.3V til de respektive pinnene på Arduino, og koble signalkabelen til Digital 2 -pinnen på Ardunio. MERK: Hvis du har annen kode på Arduino, bør du koble fra kontrolleren og laste opp den nye koden fra neste side til Arduino før du slår den på med kontrolleren festet. Koble til Arduino Koble til USB -kabelen og Arduino får strøm.

Trinn 2: Pakk ut og kjør koden

Denne koden ble skrevet av meg, med deler av N64_Arduino -filen basert på monteringskode skrevet av Andrew Brown. ZIP -arkiver: De to zip -filene nedenfor inneholder koden som trengs for å kjøre Arduino og deretter tolke dataene den sender til datamaskinen. N64_Arduino -filen må kompileres i Arduino IDE, og N64_Controller kjøres i Processing 1.0. N64_Arduino Denne PDE -filen skal lastes opp til Arduino og kjøres uten problemer hvis du har alt riktig tilkoblet. Den spør ganske enkelt N64 -kontrolleren om data på knappene og den analoge pinnen og sender den tilbake til datamaskinen over den serielle porten. Det er enkelt nok å endre, for eksempel kan du bruke metodene fra denne filen til å spørre en kontroller og bruke dataene til å kjøre en Arduino -robot i stedet for å overføre den tilbake til datamaskinen. N64_Controller Dette er et Processing 1.0 -prosjekt som tar data overført av Arduino og konverterer dem til tastaturpresser som du kan tilordne til en emulator som Project 64. Du må kanskje endre linjen String portName = Serial.list () [1]; for å matche din Arduino, bør den enten være Serial.list () [0]; Serial.list () [1]; eller Serial.list () [2]; EDIT: Legg til "import java.awt. Robot;" "import java.awt. AWTException;" "import java.awt.event. InputEvent;" til koden hvis du bruker Processing 1.1N64_Controller_mouse Dette er det samme som N64_Controller, bortsett fra at den analoge pinnen styrer musen din, ikke piltastene. A og B er henholdsvis høyre og venstre klikk. For å aktivere musen, trykk på startknappen på kontrolleren.

Trinn 3: Sett opp prosjekt 64

Sett opp prosjekt 64
Sett opp prosjekt 64

Før du kan bruke kontrolleren, må Arduino kobles til og kjøre koden du lastet ned i det siste trinnet, og Processing 1.0 må være åpen mens N64_Controller -programmet kjører. Test det i Notisblokk, trykk på A -knappen for å skrive A, B skal skrive B, osv. Så nå har du en fungerende kontroller (forhåpentligvis) og du vil spille noen spill. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Set Key Mappings Start PJ 64 og åpne innstillingsmenyen først (Ctrl+T). Endre inngangskontrolleren til N-Rages direkte inngang. Åpne "Configure Controller Plugin" -menyen og angi tilordningene ved hjelp av kontrolleren. Start å spille! Du bør være klar til å gå nå! Last ned noen ROM -er og begynn å nyte din hjemmebryggede N64 -adapter.

Trinn 4: Arduino -kode i dybden

Arduino -kode i dybden
Arduino -kode i dybden

N64 -protokollen Bitene som sendes til og fra N64 -kontrolleren på ettrådsgrensesnittet, er kodet i 4 µs brede pulser. En '0' er 3 µs lav og 1 µs høy. En '1' er 1 µs lav og 3 µs høy. Arduino-koden i metodene N64_send eller N64_receive bruker veldig nøye tidsbestemt monteringskode skrevet av Andrew Brown for å bit-bang datalinjen for å kommunisere med kontrolleren. nop -blokker brukes til å vente de riktige mengdene på µs før du avstemmer linjen for å sende data. Ved oppstart sendes 0x00 til kontrolleren, og deretter er den eneste kommandoen som brukes 0x01 for å spørre om kontrollerens status. analog styrespakinformasjon. Dataene vil se ut som 44000000000000400044440044000444. Formatet på bitene er: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bits analog stikkposisjon. Metoden translate_raw_data () går gjennom de 32 bitene og setter dem inn i struct N64_status. De første 16 bitene er enkle 1 eller 0, men de siste 16 blir oversatt til et heltall omtrent i området (-80, 80) med for (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+i]? (0x80 >> i): 0; } Etter at dataene er i denne enkle formen, er det enkelt å gjøre hva du vil med dem. I dette tilfellet blir det ganske enkelt sendt over seriell port i loop () -metoden som en streng med binære data med to heltall for x- og y -verdiene. Dataene som sendes over serieporten kan se slik ut: 0400000000000400 63 -67, noe som vil bety at to knapper ble trykket på og kontrollpinnen var på 63, -67.

Trinn 5: Referanser

Referanser
Referanser

Andrew Browns prosjekt for å lage en gamecube til N64 -adapter med Arduino var uvurderlig under koding for dette prosjektet:

Nyttig skjema finner du her: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Informasjon om N64 -kontrollerens proprietære protokoll finner du her:

Anbefalt: