Përmbajtje:

Përdorni një Arduino me një kontrollues N64: 5 hapa (me fotografi)
Përdorni një Arduino me një kontrollues N64: 5 hapa (me fotografi)

Video: Përdorni një Arduino me një kontrollues N64: 5 hapa (me fotografi)

Video: Përdorni një Arduino me një kontrollues N64: 5 hapa (me fotografi)
Video: BTT Octopus - Heat bed configuration 2024, Nëntor
Anonim
Përdorni një Arduino me një kontrollues N64
Përdorni një Arduino me një kontrollues N64

Ka mësime për përdorimin e një kontrolluesi NES me një Arduino, por përdorimi i kontrolluesit më të komplikuar N64 dhe levës analoge të tij ka një tërheqje të caktuar. Nëse keni një Arduino përreth dhe nuk doni të blini një Adaptoid, ky udhëzues do të bëjë të mundur që të luani lojëra të imituara në Project 64 me Ardunio -n tuaj dhe një kontrollues N64. A është e vështirë? / A do të dëmtojë sendet e mia? Kjo nuk do të modifikojë kontrolluesin tuaj në asnjë mënyrë dhe instalimet elektrike janë jashtëzakonisht të thjeshta, kështu që nëse bëni gjithçka me kujdes nuk duhet të ketë asnjë rrezik për kontrolluesin tuaj dhe mund ta shkëputni në çdo kohë për ta përdorur me një tastierë N64. nevojë: Arduino - 30 dollarë Përpunimi 1.0 - pa pagesë Arduino Software - pa pagesë 3 copë tela - pa kabllo USB (shpresoj)

Hapi 1: Instalimi i kontrolluesit

Instalimi i telekomandës
Instalimi i telekomandës
Instalimi i telekomandës
Instalimi i telekomandës
Instalimi i telekomandës
Instalimi i telekomandës

Gjëja e parë që duhet të bëni është të lidhni Arduino -n tuaj me kontrolluesin Kontrolluesi përdor vetëm tre priza: +3.3V, sinjal dhe tokëzim. Duke parë drejtpërdrejt prizën, toka është më e majta, sinjali është në mes dhe +3.3V është në të djathtë. Duke përdorur tela, lidhni tokëzimin dhe +3.3V me kunjat përkatëse në Arduino dhe lidhni prizën e sinjalit me pinin dixhital 2 në Ardunio. SHOTNIM: Nëse keni kod tjetër në Arduino tuaj, duhet të shkëputni kontrolluesin dhe të ngarkoni kodi i ri nga faqja tjetër në Arduino para se ta ndizni me kontrolluesin e bashkangjitur. Lidhni Arduino Lidhni kabllon USB dhe Arduino do të ketë energji.

Hapi 2: Shpaketoni dhe ekzekutoni kodin

Ky kod është shkruar nga unë, me pjesë të skedarit N64_Arduino bazuar në kodin e montimit të shkruar nga Andrew Brown. Arkivat ZIP: Dy skedarët Zip më poshtë përmbajnë kodin e nevojshëm për të drejtuar Arduino dhe më pas për të interpretuar të dhënat që dërgon në kompjuter. Skedari N64_Arduino duhet të përpilohet në Arduino IDE, dhe N64_Controller funksionon në Përpunimin 1.0. N64_Arduino Ky skedar PDE duhet të ngarkohet në Arduino tuaj dhe të funksionojë pa probleme nëse keni gjithçka të lidhur siç duhet. Thjesht pyet kontrolluesin N64 për të dhënat në butonat dhe shkopin Analog dhe i dërgon përsëri në kompjuter përmes portës serike. Enoughshtë mjaft e lehtë për të modifikuar, për shembull, mund të përdorni metodat nga ky skedar për të kërkuar një kontrollues dhe përdorni të dhënat për të drejtuar një robot Arduino në vend që t'i transmetoni përsëri në kompjuter. N64_Controller Ky është një projekt Processing 1.0 që merr të dhënat e transmetuara nga Arduino dhe i shndërrojnë ato në shtypës të tastierës që mund t'i hartoni në një emulator si Projekti 64. Mund t'ju duhet të ndryshoni linjën String portName = Serial.list () [1]; që të përputhet me Arduino -n tuaj, duhet të jetë ose Serial.list () [0]; Serial.list () [1]; ose Serial.list () [2]; EDIT: Shto "import java.awt. Robot;" "import java.awt. AWTException;" "import java.awt.event. InputEvent;" në kod nëse përdorni Processing 1.1N64_Controller_mouse Kjo është e njëjtë me N64_Controller, përveç se shkopi analog kontrollon miun tuaj, jo çelësat e shigjetave. A dhe B janë përkatësisht klikimi i djathtë dhe i majtë. Për të aktivizuar miun, shtypni butonin e fillimit në kontrolluesin tuaj.

Hapi 3: Vendosni Projektin 64

Vendosni Projektin 64
Vendosni Projektin 64

Para se të përdorni kontrolluesin, Arduino duhet të lidhet dhe të ekzekutojë kodin që keni shkarkuar në hapin e fundit, dhe Processing 1.0 duhet të jetë i hapur me programin N64_Controller. Provojeni atë në Notepad, duke shtypur butonin A duhet të shkruani një A, B duhet të shkruani një B, etj. Kështu që tani ju keni një kontrollues pune (me shpresë) dhe doni të luani disa lojëra. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Vendosni Çështjet KryesoreFilloni PJ 64 dhe hapni së pari menunë e cilësimeve (Ctrl+T). Ndryshoni kontrolluesin e hyrjes në hyrjen direkte të N-Rage. Hapni menunë "Konfiguro Shtojcën e Kontrolluesit" dhe vendosni hartat duke përdorur kontrolluesin. Filloni të luani! Duhet të jeni gati për të shkuar tani! Shkarkoni disa ROM dhe filloni të shijoni përshtatësin tuaj homebrew N64.

Hapi 4: Kodi Arduino në Thellësi

Kodi Arduino në Thellësi
Kodi Arduino në Thellësi

Protokolli N64 Pjesët e dërguara nga dhe nga kontrolluesi N64 në ndërfaqen me një tel janë të koduara në impulse të gjera 4 μs. A '0' është 3 µs i ulët dhe 1 µs i lartë. A '1' është 1 µs i ulët dhe 3 μs i lartë. Kodi Arduino në metodat N64_send ose N64_receive përdor me shumë kujdes kodin e montimit të caktuar me kohë të shkruar nga Andrew Brown për të bit-banguar linjën e të dhënave për të komunikuar me kontrolluesin. blloqet nop përdoren për të pritur sasinë e duhur të μs para se të votoni linjën e dërgimit të të dhënave. Me fillimin, 0x00 i dërgohet kontrolluesit, dhe pastaj pas kësaj komanda e vetme e përdorur është 0x01 për të kërkuar statusin e kontrolluesit. Kodimi i të dhënave Kur të dhënat merren pas një 0x01, ai arrin si 16 bit informacion të butonit dhe 16 bit të informacion analog i levës. Të dhënat do të dukeshin si 44000000000000000400044440044000444. Formati i bitave është: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bit analoge pozicioni i shkopit. Metoda translate_raw_data () kalon nëpër 32 bit, duke i futur ato në strukturën N64_status. 16 bitët e parë janë të thjeshtë 1 ose 0, por 16 të fundit përkthehen në një numër të plotë afërsisht në rangun (-80, 80) me for (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+i]? (0x80 >> i): 0; } Pasi të dhënat janë në këtë formë të thjeshtë, është e lehtë të bësh çfarë të duash me të. Në këtë rast, ai thjesht dërgohet mbi portën serike në metodën loop () si një varg i të dhënave binare me dy numra të plotë për vlerat x dhe y. Të dhënat e dërguara mbi portin serik mund të duken si: 0400000000000400 63 -67 që do të thotë se janë shtypur dy butona dhe shkopi i kontrollit ishte në 63, -67.

Hapi 5: Referencat

Referencat
Referencat

Projekti i Andrew Brown për të krijuar një përshtatës të gamecube në N64 me Arduino ishte i paçmuar gjatë kodimit për këtë projekt:

Skemat ndihmëse mund të gjenden këtu: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Informacioni mbi protokollin e pronarit të kontrolluesve N64 mund të gjenden këtu:

Recommended: