Sisukord:

Kasutage Arduino koos N64 kontrolleriga: 5 sammu (piltidega)
Kasutage Arduino koos N64 kontrolleriga: 5 sammu (piltidega)

Video: Kasutage Arduino koos N64 kontrolleriga: 5 sammu (piltidega)

Video: Kasutage Arduino koos N64 kontrolleriga: 5 sammu (piltidega)
Video: Проект: наручные электронные часы PIX4884 на базе Arduino. 2024, November
Anonim
Kasutage Arduino koos N64 kontrolleriga
Kasutage Arduino koos N64 kontrolleriga

Seal on õpetusi NES -kontrolleri kasutamiseks Arduinoga, kuid keerukama N64 -kontrolleri ja selle analoog -juhtkangi kasutamisel on kindel atraktiivsus. Kui teil on Arduino ümber ja te ei soovi Adaptoidi osta, võimaldab see juhend juhendada mängus Project 64 oma Ardunio ja N64 kontrolleriga. Kas see on raske? / Kas see rikub mu asju? See ei muuda teie kontrollerit mingil moel ja juhtmestik on äärmiselt lihtne, nii et kui teete kõike hoolikalt, ei tohiks teie kontroller olla ohus ja saate selle igal ajal lahti ühendada, et seda koos N64 konsooliga kasutada. vaja: Arduino - 30 dollarit Töötlemine 1,0 - tasuta Arduino tarkvara - tasuta 3 tükki traati - tasuta (ma loodan) USB -kaabel

Samm: kontrolleri ühendamine

Kontrolleri juhtmestik
Kontrolleri juhtmestik
Kontrolleri juhtmestik
Kontrolleri juhtmestik
Kontrolleri juhtmestik
Kontrolleri juhtmestik

Esimene asi, mida peate tegema, on ühendada Arduino kontrolleriga. Kontroller kasutab ainult kolme juhet: +3,3 V, signaal ja maandus. Vaadates otse pistikut, on maapind kõige kaugemal vasakul, signaal keskel ja +3,3 V paremal. Ühendage juhtme abil maandus ja +3,3 V Arduino vastavate tihvtidega ning ühendage signaalijuhe Ardunio digitaalse 2 -kontaktilisega. MÄRKUS. Kui teie Arduino -l on mõni muu kood, peaksite kontrolleri lahti ühendama ja üles laadima uus kood järgmisel leheküljel Arduinole enne selle sisselülitamist koos ühendatud kontrolleriga. Ühendage Arduino Ühendage USB -kaabel ja Arduino saab toite.

Samm: pakkige kood lahti ja käivitage

See kood on kirjutatud minu poolt, osad N64_Arduino failist, mis põhineb Andrew Browni koostatud koostekoodil. ZIP -arhiiv: Allpool olevad kaks ZIP -faili sisaldavad Arduino käitamiseks ja seejärel arvutisse saadetavate andmete tõlgendamiseks vajalikku koodi. Fail N64_Arduino tuleb kompileerida Arduino IDE -sse ja N64_Controller töötab töötlemisel 1.0. N64_Arduino See PDE -fail peaks teie Arduinosse üles laadima ja ilma probleemideta töötama, kui kõik on korralikult ühendatud. See lihtsalt küsib N64 kontrollerilt nuppude ja analoogpulga andmeid ning saadab need jadapordi kaudu arvutisse tagasi. Seda on piisavalt lihtne muuta, näiteks võite kasutada selle faili meetodeid kontrolleri päringute tegemiseks ja andmete abil Arduino roboti käitamiseks selle asemel, et see arvutisse tagasi saata. N64_Controller See on protsess 1.0, mis võtab Arduino edastatud andmed ja teisendab need klaviatuurivajutusteks, mille saate kaardistada emulaatoriks nagu projekt 64. Võimalik, et peate muutma rida String portName = Serial.list () [1]; teie Arduinoga sobitamiseks peaks see olema kas Serial.list () [0]; Serial.list () [1]; või Serial.list () [2]; EDIT: Lisa "import java.awt. Robot;" "impordi java.awt. AWTException;" "import java.awt.event. InputEvent;" koodile, kui kasutate töötlemist 1.1N64_Controller_mouse See on sama mis N64_Controller, ainult et analoogpulk juhib teie hiirt, mitte nooleklahve. A ja B on vastavalt parem- ja vasakklõps. Hiire aktiveerimiseks vajutage kontrolleri nuppu Start.

Samm: seadistage projekt 64

Seadistage projekt 64
Seadistage projekt 64

Enne kontrolleri kasutamist tuleb Arduino ühendada ja käivitada viimases etapis allalaaditud kood ning Processing 1.0 peab olema avatud, kui programm N64_Controller töötab. Proovige seda Notepadis, vajutades nuppu A, peaksite sisestama A, B peaks kirjutama B jne. Nüüd on teil töötav kontroller (loodetavasti) ja soovite mõnda mängu mängida. Downl0ad PJ 64 -emu.com/downloads/Set Key Mappings Käivitage PJ 64 ja avage esmalt seadete menüü (Ctrl+T). Muutke sisendkontroller N-Rage'i otseseks sisendiks. Avage menüü "Kontrolleri pistikprogrammi konfigureerimine" ja määrake kontrolleri abil vastendused. Alustage mängimist! Nüüd peaksite olema valmis! Laadige alla mõned ROM -id ja hakake oma Homebrew N64 -adapterit nautima.

Samm 4: Arduino kood sügavuti

Arduino kood sügavuti
Arduino kood sügavuti

N64 -protokoll N64 -kontrollerile ja sellelt ühe traadiga liideselt saadetud bitid on kodeeritud 4 µs laiuste impulssidena. A '0' on 3 µs madal ja 1 µs kõrge. A '1' on 1 µs madal ja 3 µs kõrge. Arduino kood meetodites N64_send või N64_recept kasutab Andrew Browni kirjutatud väga hoolikalt ajastatud koostekoodi, et andmesidet bitti lööma, et suhelda kontrolleriga. nop -plokke kasutatakse andmete saatmise rea küsitlemiseks sobivate µs -koguste ootamiseks. Käivitamisel saadetakse kontrollerile 0x00 ja pärast seda kasutatakse kontrolleri oleku pärimiseks ainult käsku 0x01. Andmete kodeerimine Kui andmed võetakse vastu pärast 0x01, saabub see 16 -bitise nuputeabe ja 16 -bitise bitina juhtkangi analoogteave. Andmed näeksid välja nagu 44000000000000400044440044000444. Bittide vorming on: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bitti analoogi pulga asend. Meetod translate_raw_data () läbib 32 bitti, sisestades need struktuuri N64_status. Esimesed 16 bitti on lihtsad 1 või 0, kuid viimased 16 teisendatakse täisarvuks vahemikus (-80, 80) järgmiselt (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+i]? (0x80 >> i): 0; } Kui andmed on sellisel lihtsal kujul, on nendega lihtne teha kõike, mida soovite. Sel juhul saadetakse see lihtsalt loop () meetodi jadapordi kaudu kahekomponentsete andmete stringina kahe täisarvuga x ja y väärtuste jaoks. Jadapordi kaudu saadetud andmed võivad välja näha järgmised: 0400000000000400 63 -67, mis tähendaks, et kaks nuppu on vajutatud ja juhtnupp on 63, -67.

5. samm: viited

Viited
Viited

Andrew Browni projekt luua Arduinoga mängukupp N64 -adapterile oli selle projekti kodeerimisel hindamatu:

Abistavad skeemid leiate siit: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php N64 kontrollerite varalise protokolli kohta leiate teavet siit:

Soovitan: