
Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
Există tutoriale pentru utilizarea unui controler NES cu un Arduino, dar utilizarea controlerului N64 mai complicat și a joystick-ului său analogic au un apel clar. Dacă aveți un Arduino în jur și nu doriți să cumpărați un Adaptoid, acest instructable vă va permite să jucați jocuri emulate în Project 64 cu Ardunio și un controler N64. Este greu? / Îmi va deteriora lucrurile? Acest lucru nu vă va modifica controlerul în niciun fel, iar cablarea este extrem de simplă, deci dacă faceți totul cu atenție, nu ar trebui să existe niciun risc pentru controlerul dvs. și îl puteți deconecta în orice moment pentru al utiliza cu o consolă N64. nevoie: Arduino - 30 $ Procesare 1.0 - gratuit Software Arduino - gratuit 3 bucăți de sârmă - gratuit (sper) cablu USB
Pasul 1: Cablarea controlerului
Primul lucru pe care trebuie să-l faceți este să vă conectați Arduino la controler Controlerul utilizează doar trei cabluri: + 3,3 V, semnal și masă. Privind direct la priză, solul este cel mai îndepărtat la stânga, semnalul este la mijloc și + 3,3V este la dreapta. Utilizând firul, conectați masa și + 3,3 V la pinii respectivi de pe Arduino și conectați cablul de semnal la pinul digital 2 de pe Ardunio. NOTĂ: Dacă aveți alt cod pe Arduino, ar trebui să deconectați controlerul și să încărcați noul cod de pe pagina următoare la Arduino înainte de al alimenta cu controlerul atașat. Conectați Arduino Conectați cablul USB și Arduino va avea putere.
Pasul 2: despachetați și rulați codul
Acest cod a fost scris de mine, cu părți din fișierul N64_Arduino bazat pe codul de asamblare scris de Andrew Brown. Arhive ZIP: Cele două fișiere Zip de mai jos conțin codul necesar pentru a rula Arduino și apoi pentru a interpreta datele pe care le trimite computerului. Fișierul N64_Arduino trebuie să fie compilat în IDE Arduino, iar N64_Controller rulează în Procesare 1.0. N64_Arduino Acest fișier PDE ar trebui să se încarce pe Arduino și să ruleze fără probleme dacă aveți totul conectat corect. Pur și simplu interogă controlerul N64 pentru date de pe butoane și stick analogic și îl trimite înapoi la computer prin portul serial. Este suficient de ușor de modificat, de exemplu, puteți utiliza metodele din acest fișier pentru a interoga un controler și a utiliza datele pentru a rula un robot Arduino în loc să îl transmiteți înapoi la computer. N64_Controller Acesta este un proiect Processing 1.0 care ia datele transmise de Arduino și le convertesc în apăsări de tastatură pe care le puteți mapa la un emulator precum Project 64. Este posibil să fie necesar să schimbați linia String portName = Serial.list () [1]; pentru a se potrivi cu Arduino, ar trebui să fie Serial.list () [0]; Serial.list () [1]; sau Serial.list () [2]; EDIT: Adăugați „import java.awt. Robot;” "import java.awt. AWTException;" „import java.awt.event. InputEvent;” în cod dacă utilizați Processing 1.1N64_Controller_mouse Acesta este același lucru cu N64_Controller, cu excepția faptului că stick-ul analogic controlează mouse-ul, nu tastele săgeți. A și B sunt clic dreapta și respectiv stânga. Pentru a activa mouse-ul, apăsați butonul Start de pe controler.
Pasul 3: Configurați proiectul 64
Înainte de a putea utiliza controlerul, Arduino trebuie să fie conectat și să ruleze codul pe care l-ați descărcat în ultimul pas, iar Procesarea 1.0 trebuie să fie deschisă cu programul N64_Controller rulat. Testați-l în Notepad, apăsând butonul A ar trebui să tastați A, B ar trebui să tastați B, etc. Așa că acum aveți un controler funcțional (sperăm) și doriți să jucați câteva jocuri. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Set Key Mappings Porniți PJ 64 și deschideți mai întâi meniul de setări (Ctrl + T). Schimbați controlerul de intrare la intrarea directă a lui N-Rage. Deschideți meniul „Configurați pluginul controlerului” și setați mapările folosind controlerul. Începeți să jucați! Ar trebui să fiți gata să mergeți acum! Descărcați câteva ROM-uri și începeți să vă bucurați de adaptorul homebrew N64.
Pasul 4: Cod Arduino în adâncime
Protocolul N64 Biții trimiși către și de la controlerul N64 de pe interfața cu un singur fir sunt codificați în impulsuri late de 4 µs. Un '0' este 3 µs scăzut și 1 µs înalt. Un '1' este 1 µs scăzut și 3 µs înalt. Codul Arduino din metodele N64_send sau N64_receive utilizează un cod de asamblare temporizat foarte atent, scris de Andrew Brown pentru a bloca linia de date pentru a comunica cu controlerul. blocurile nop sunt utilizate pentru a aștepta cantitățile adecvate de µs înainte de a interoga linia de trimitere a datelor. La pornire, 0x00 este trimis către controler, iar după aceea singura comandă utilizată este 0x01 pentru interogarea stării controlerului. Codificare date Când datele sunt primite după un 0x01, ajung ca 16 biți de informații buton și 16 biți de informații joystick analogice. Datele ar arăta ca 4400000000000000400044440044000444. Formatul biților este: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 biți de analog poziția bățului. Metoda translate_raw_data () trece prin cei 32 de biți, inserându-i în struct N64_status. Primii 16 biți sunt simpli 1 sau 0, dar ultimii 16 sunt traduși într-un număr întreg aproximativ în intervalul (-80, 80) prin for (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16 + i]? (0x80 >> i): 0; } După ce datele sunt în această formă simplă, este ușor să faceți orice doriți cu ele. În acest caz, este pur și simplu trimis prin portul serial în metoda loop () ca un șir de date binare cu două numere întregi pentru valorile x și y. Datele trimise prin portul serial ar putea arăta astfel: 0400000000000400 63 -67 ceea ce ar însemna că s-au apăsat două butoane și butonul de control a fost la 63, -67.
Pasul 5: Referințe
Proiectul lui Andrew Brown de a crea un adaptor de gamecube la N64 cu Arduino a fost de neprețuit în timp ce codifica acest proiect:
Scheme utile pot fi găsite aici: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Informații despre protocolul proprietar al controlerelor N64 pot fi găsite aici:
Recomandat:
Controler robot inspirat de N64 (Arduino + NRF24L01): 4 pași

Robot Controller inspirat de N64 (Arduino + NRF24L01): De la primul meu proiect robotizat, folosesc controlere de joc pentru a executa comenzi și funcții. Aceasta este cu siguranță o influență a zilelor mele de jucător. Am făcut deja proiecte cu controlere PS2, Xbox 360 … dar a venit un moment când am avut câteva probleme de interfață
Controler de joc DIY bazat pe Arduino - Controler de joc Arduino PS2 - Jucând Tekken cu DIY Arduino Gamepad: 7 pași

Controler de joc DIY bazat pe Arduino | Controler de joc Arduino PS2 | Jucând Tekken cu DIY Arduino Gamepad: Bună, băieți, jocul este întotdeauna distractiv, dar jocul cu propriul controler personalizat DIY este mai distractiv
Codificator rotativ - Înțelegeți și utilizați-l (Arduino / alt controler Μ): 3 pași

Codificator rotativ - Înțelegeți-l și utilizați-l (Arduino / alt controler Μ): Un codificator rotativ este un dispozitiv electromecanic care convertește mișcarea de rotație în informații digitale sau analogice. Se poate roti în sensul acelor de ceasornic sau invers. Există două tipuri de codificatoare rotative: codificatoare absolute și relative (incrementale)
Utilizați un motor de acționare DC cu bandă de alergare și un controler de viteză PWM pentru scule electrice: 13 pași (cu imagini)

Utilizați un motor de acționare DC cu bandă de alergare și un controler de viteză PWM pentru scule electrice: sculele electrice, cum ar fi morile și strungurile de tăiere a metalelor, prese de găurit, ferăstraie cu bandă, șlefuitoare și multe altele, pot necesita motoare de 5HP la 2HP cu capacitatea de a regla fin viteza, menținând cuplul. .Coincidental majoritatea benzilor de alergat folosesc un motor de 80-260 VDC cu
Utilizați un controler Xbox 360 ca mouse: 3 pași

Utilizați un controler Xbox 360 ca mouse: vă voi arăta cum să configurați controlerul 360 pentru a fi folosit ca mouse și cum să îl utilizați pentru jocuri pe computer în loc să folosiți mouse-ul și tastatura. Aveți nevoie de 1.) Un controler 360 cu cablu sau unul fără fir cu un adaptor 2.) acces la internet 3.) credință că Mic