Sadržaj:

Upotreba Arduina sa N64 kontrolerom: 5 koraka (sa slikama)
Upotreba Arduina sa N64 kontrolerom: 5 koraka (sa slikama)

Video: Upotreba Arduina sa N64 kontrolerom: 5 koraka (sa slikama)

Video: Upotreba Arduina sa N64 kontrolerom: 5 koraka (sa slikama)
Video: Массимо Банци: Как Arduino пробуждает воображение 2024, Jun
Anonim
Koristite Arduino sa N64 kontrolerom
Koristite Arduino sa N64 kontrolerom

Postoje vodiči za korištenje NES kontrolera s Arduinom, ali korištenje složenijeg N64 kontrolera i njegovog analognog džojstika ima određenu privlačnost. Ako imate Arduino u blizini i ne želite kupiti Adaptoid, ovo uputstvo će vam omogućiti igranje emuliranih igara u Project 64 sa vašim Arduniom i N64 kontrolerom. Je li ovo teško? / Hoće li oštetiti moje stvari? Ovo neće ni na koji način promijeniti vaš kontroler, a ožičenje je izuzetno jednostavno, pa ako sve radite pažljivo, ne bi trebalo biti rizika za vaš kontroler, a možete ga otkačiti u bilo kojem trenutku za upotrebu s konzolom N64. potrebno: Arduino - 30 USD Obrada 1.0 - besplatnoArduino softver - besplatno 3 komada žice - besplatno (nadam se) USB kabel

Korak 1: Ožičenje kontrolera

Ožičenje kontrolera
Ožičenje kontrolera
Ožičenje kontrolera
Ožičenje kontrolera
Ožičenje kontrolera
Ožičenje kontrolera

Prva stvar koju trebate učiniti je spojiti svoj Arduino na kontroler. Kontroler koristi samo tri vodiča: +3,3 V, signal i uzemljenje. Gledajući direktno u utikač, uzemljenje je krajnje lijevo, signal je u sredini, a +3,3 V s desne strane. Pomoću žice spojite uzemljenje i +3,3 V na odgovarajuće pinove na Arduinu, a signalni vod na digitalni 2 pin na Arduniju. NAPOMENA: Ako imate drugi kôd na svom Arduinu, trebali biste odspojiti kontroler i prenijeti novi kôd sa sljedeće stranice na Arduino prije nego ga uključite sa priključenim kontrolerom. Povežite Arduino Priključite USB kabel i Arduino će imati napajanje.

Korak 2: Raspakirajte i pokrenite kôd

Ovaj kod sam napisao, sa dijelovima datoteke N64_Arduino na osnovu koda montaže koji je napisao Andrew Brown. ZIP arhiva: Dvije donje Zip datoteke sadrže kôd potreban za pokretanje Arduina, a zatim za tumačenje podataka koje šalje na računalo. Datoteka N64_Arduino mora biti kompajlirana u Arduino IDE -u, a N64_Controller radi u Processing 1.0. N64_Arduino Ova PDE datoteka bi se trebala učitati na vaš Arduino i raditi bez problema ako ste sve pravilno spojili. On jednostavno traži od N64 kontrolera podatke o tipkama i analognom štapiću i šalje ih natrag računaru preko serijskog porta. Dovoljno je lako izmijeniti, na primjer, možete koristiti metode iz ove datoteke za postavljanje upita kontroleru i koristiti podatke za pokretanje Arduino robota umjesto da ga prenose natrag na računalo. N64_Controller Ovo je projekt Processing 1.0 koji zahtijeva podatke koje prenosi Arduino i pretvara ih u pritiske na tastaturi koje možete mapirati u emulator poput projekta 64. Možda ćete morati promijeniti liniju String portName = Serial.list () [1]; da bi odgovarao vašem Arduinu, trebao bi biti ili Serial.list () [0]; Serial.list () [1]; ili Serial.list () [2]; EDIT: Dodajte "import java.awt. Robot;" "import java.awt. AWTException;" "import java.awt.event. InputEvent;" u kôd ako koristite Processing 1.1N64_Controller_mouse Ovo je isto što i N64_Controller, osim što analogni štapić kontrolira vaš miš, a ne tipke sa strelicama. A i B su desni i lijevi klik. Da biste aktivirali miš, pritisnite dugme za pokretanje na kontroleru.

Korak 3: Postavite Project 64

Postavljanje projekta 64
Postavljanje projekta 64

Prije nego što počnete koristiti kontroler, Arduino mora biti povezan i pokrenuti kôd koji ste preuzeli u posljednjem koraku, a Processing 1.0 mora biti otvoren dok je pokrenut program N64_Controller. Isprobajte ga u Notepadu, pritiskom na tipku A trebali biste upisati A, B bi trebali upisati A, itd. Dakle, sada imate radni kontroler (nadamo se) i želite igrati neke igre. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Set Key MappingsStart PJ 64 i prvo otvorite meni postavki (Ctrl+T). Promijenite ulazni kontroler na direktni ulaz N-Rage. Otvorite izbornik "Configure Controller Plugin" i postavite preslikavanja pomoću kontrolera. Preuzmite neke ROM -ove i počnite uživati u svom homebrew adapteru N64.

Korak 4: Arduino kod dubinski

Arduino kod dubinski
Arduino kod dubinski

N64 protokol Bitovi koji se šalju na i iz N64 kontrolera na jednožičnom sučelju kodirani su u impulse široke 4 µs. '0' je 3 µs nisko, a 1 µs visoko. '1' je 1 µs nisko i 3 µs visoko. Arduino kôd u metodama N64_send ili N64_receive koristi vrlo pažljivo tempiran montažni kod koji je napisao Andrew Brown za bit-bang linije podataka za komunikaciju s kontrolerom. nop blokovi se koriste za čekanje odgovarajuće količine µs prije nego što se ispita linija slanja podataka. Prilikom pokretanja, 0x00 se šalje kontroleru, a zatim se nakon toga koristi samo naredba 0x01 za ispitivanje statusa kontrolera. Kodiranje podataka Kada se podaci dobiju nakon 0x01, oni dolaze kao 16 bita informacija o gumbima i 16 bita informacije o analognom džojstiku. Podaci bi izgledali kao 44000000000000400044440044000444. Format bitova je: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bita analognog položaj štapa. Metoda translate_raw_data () prolazi kroz 32 bita, ubacujući ih u strukturu N64_status. Prvih 16 bitova su jednostavni 1 ili 0, ali posljednjih 16 je prevedeno u cijeli broj približno u rasponu (-80, 80) za za (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+i]? (0x80 >> i): 0; } Nakon što su podaci u ovom jednostavnom obliku, s njima je lako učiniti sve što želite. U ovom slučaju, jednostavno se šalje preko serijskog porta u metodi loop () kao niz binarnih podataka sa dva cijela broja za vrijednosti x i y. Podaci poslani preko serijskog porta mogu izgledati ovako: 0400000000000400 63 -67, što bi značilo da su pritisnuta dva dugmeta i da je kontrolni štapić na 63, -67.

Korak 5: Reference

Reference
Reference

Projekt Andrewa Browna za stvaranje adaptera gamecube na N64 s Arduinom bio je neprocjenjiv pri kodiranju ovog projekta:

Korisne sheme možete pronaći ovdje: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Informacije o vlasničkom protokolu N64 kontrolera možete pronaći ovdje:

Preporučuje se: