Kazalo:

Uporabite Arduino s krmilnikom N64: 5 korakov (s slikami)
Uporabite Arduino s krmilnikom N64: 5 korakov (s slikami)

Video: Uporabite Arduino s krmilnikom N64: 5 korakov (s slikami)

Video: Uporabite Arduino s krmilnikom N64: 5 korakov (s slikami)
Video: Octopus Max EZ v1.0 - EZ5160 2024, Junij
Anonim
Uporabite Arduino s krmilnikom N64
Uporabite Arduino s krmilnikom N64

Obstajajo vaje za uporabo krmilnika NES z Arduinom, vendar je uporaba bolj zapletenega krmilnika N64 in njegove analogne krmilne palice nedvomno privlačna. Če imate v bližini Arduino in ne želite kupiti Adaptoida, vam bo to navodilo omogočilo igranje emuliranih iger v Project 64 z vašim Arduniom in krmilnikom N64. Je to težko? / Ali bo poškodoval moje stvari? To ne bo spremenilo vašega krmilnika in ožičenje je zelo preprosto, zato, če vse naredite previdno, ne bi smelo biti nevarnosti za vaš krmilnik in ga lahko kadar koli odpeljete za uporabo s konzolo N64. potrebujem: Arduino - 30 USD Obdelava 1.0 - brezplačno Programska oprema Arduino - brezplačno 3 kosi žice - brez (upam) kabla USB

1. korak: Ožičenje krmilnika

Ožičenje krmilnika
Ožičenje krmilnika
Ožičenje krmilnika
Ožičenje krmilnika
Ožičenje krmilnika
Ožičenje krmilnika

Prva stvar, ki jo morate storiti, je, da svoj Arduino priključite na krmilnik. Krmilnik uporablja samo tri vodi: +3,3 V, signal in maso. Če pogledamo neposredno v vtičnico, je zemlja najbolj levo, signal je na sredini, +3,3 V pa na desni. Z žico priključite ozemljitev in +3,3 V na ustrezne nožice na Arduinu, signalni vod pa priključite na digitalni 2 -polni priključek na Arduniu. OPOMBA: Če imate na Arduinu drugo kodo, odklopite krmilnik in naložite novo kodo z naslednje strani na Arduino, preden jo vklopite s priključenim krmilnikom. Priključite Arduino Priključite kabel USB in Arduino bo imel napajanje.

2. korak: Razpakirajte in zaženite kodo

To kodo sem napisal jaz, z deli datoteke N64_Arduino, ki temeljijo na montažni kodi, ki jo je napisal Andrew Brown. Arhiv ZIP: Spodnji datoteki Zip vsebujeta kodo, potrebno za zagon Arduina in nato za interpretacijo podatkov, ki jih pošilja v računalnik. Datoteko N64_Arduino je treba zbrati v Arduino IDE, N64_Controller pa deluje v obdelavi 1.0. N64_Arduino Ta datoteka PDE bi se morala naložiti v vaš Arduino in se izvajati brez težav, če imate vse pravilno povezano. Preprosto poizveduje krmilnik N64 o podatkih o gumbih in analognem ključu ter jih pošlje nazaj v računalnik prek serijskih vrat. Spreminjanje je preprosto, na primer z metodami iz te datoteke lahko poizvedujete o krmilniku in uporabite podatke za zagon robota Arduino, namesto da bi ga poslali nazaj v računalnik. N64_Controller To je projekt Processing 1.0, ki podatke, ki jih posreduje Arduino, in jih pretvori v pritiske na tipkovnici, ki jih lahko preslikate v emulator, kot je Project 64. Morda boste morali spremeniti vrstico String portName = Serial.list () [1]; da se ujema z vašim Arduinom, mora biti Serial.list () [0]; Serial.list () [1]; ali Serial.list () [2]; EDIT: Dodajte "import java.awt. Robot;" "import java.awt. AWTException;" "import java.awt.event. InputEvent;" v kodo, če uporabljate Processing 1.1N64_Controller_mouse To je enako kot N64_Controller, le da analogna palica nadzoruje miško, ne puščične tipke. A in B sta desni oziroma levi klik. Za aktiviranje miške pritisnite gumb za zagon na krmilniku.

3. korak: Nastavite projekt 64

Nastavite projekt 64
Nastavite projekt 64

Preden lahko uporabite krmilnik, mora biti Arduino povezan in zagnati kodo, ki ste jo prenesli v zadnjem koraku, Processing 1.0 pa je treba odpreti, ko se izvaja program N64_Controller. Preizkusite ga v Beležnici. S pritiskom na gumb A bi morali vnesti A, B bi morali vnesti B itd. Torej imate zdaj delujoč krmilnik (upajmo) in želite igrati nekaj iger. -emu.com/downloads/Set Key MappingsZačnite PJ 64 in najprej odprite meni z nastavitvami (Ctrl+T). Spremenite vhodni krmilnik na neposredni vhod N-Rage. Odprite meni "Konfiguriraj vtičnik krmilnika" in nastavite preslikave s pomočjo krmilnika. Začnite s predvajanjem. Prenesite nekaj ROM -ov in začnite uživati v domačem adapterju N64.

4. korak: globinsko koda Arduino

Arduino koda v globini
Arduino koda v globini

Protokol N64 Biti, poslani v in iz krmilnika N64 na enožičnem vmesniku, so kodirani v 4 µs širokih impulzih. '0' je 3 µs nizko in 1 µs visoko. '1' je 1 µs nizko in 3 µs visoko. Koda Arduino v metodah N64_send ali N64_receive uporablja zelo skrbno časovno usklajeno montažno kodo, ki jo je napisal Andrew Brown za bit-bang podatkovne vrstice za komunikacijo s krmilnikom. nop bloki se uporabljajo za čakanje na ustrezno količino µs, preden poiščejo vrstico za pošiljanje podatkov. Ob zagonu se krmilniku pošlje 0x00, nato pa je uporabljen edini ukaz 0x01 za poizvedbo o statusu krmilnika. Kodiranje podatkov Ko so podatki prejeti po 0x01, pridejo kot 16 bitov informacij o gumbih in 16 bitov informacije o analogni krmilni palici. Podatki bi izgledali kot 44000000000000400044440044000444. Oblika bitov je: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bitov analognega položaj palice. Metoda translate_raw_data () gre skozi 32 bitov in jih vstavi v strukturo N64_status. Prvih 16 bitov je enostavnih 1 ali 0, zadnjih 16 pa se pretvori v celo število približno v območju (-80, 80) za za (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+i]? (0x80 >> i): 0; } Ko so podatki v tej preprosti obliki, je z njimi enostavno narediti vse, kar želite. V tem primeru se preprosto pošlje prek zaporednih vrat v metodi loop () kot niz binarnih podatkov z dvema celima vrednostma za vrednosti x in y. Podatki, poslani prek serijskih vrat, bi lahko izgledali tako: 0400000000000400 63 -67, kar bi pomenilo, da sta bila pritisnjena dva gumba in je bila kontrolna palica na 63, -67.

5. korak: Reference

Reference
Reference

Projekt Andrewa Browna za ustvarjanje vmesnika gamecube na N64 z Arduinom je bil neprecenljiv pri kodiranju tega projekta:

Koristne sheme najdete tukaj: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Informacije o lastniškem protokolu krmilnikov N64 najdete tukaj:

Priporočena: