Turinys:

Naudokite „Arduino“su N64 valdikliu: 5 žingsniai (su paveikslėliais)
Naudokite „Arduino“su N64 valdikliu: 5 žingsniai (su paveikslėliais)

Video: Naudokite „Arduino“su N64 valdikliu: 5 žingsniai (su paveikslėliais)

Video: Naudokite „Arduino“su N64 valdikliu: 5 žingsniai (su paveikslėliais)
Video: Измерьте ток до 500A с помощью шунтирующего резистора с помощью Arduino 2024, Lapkritis
Anonim
Naudokite „Arduino“su N64 valdikliu
Naudokite „Arduino“su N64 valdikliu

Yra pamokų, kaip naudoti NES valdiklį su „Arduino“, tačiau naudojant sudėtingesnį N64 valdiklį ir jo analoginę vairasvirtę tikrai patiks. Jei turite „Arduino“ir nenorite nusipirkti „Adaptoid“, šis nurodymas suteiks galimybę žaisti žaidimus pagal „Project 64“su „Ardunio“ir N64 valdikliu. Ar tai sunku? / Ar tai nesugadins mano daiktų? Tai jokiu būdu nepakeis jūsų valdiklio, o laidai yra labai paprasti, todėl, jei viską darysite kruopščiai, jūsų valdikliui neturėtų kilti pavojus, ir bet kuriuo metu galite jį atkabinti, kad galėtumėte naudoti su N64 konsole. reikia: „Arduino“- 30 USD Apdorojimas 1,0 - nemokamai „Arduino“programinė įranga - nemokama 3 laidų dalys - nemokama (tikiuosi) USB kabelis

1 žingsnis: valdiklio prijungimas

Valdiklio prijungimas
Valdiklio prijungimas
Valdiklio prijungimas
Valdiklio prijungimas
Valdiklio prijungimas
Valdiklio prijungimas

Pirmas dalykas, kurį jums reikia padaryti, yra prijungti „Arduino“prie valdiklio. Valdiklis naudoja tik tris laidus: +3,3 V, signalą ir įžeminimą. Žvelgiant tiesiai į kištuką, žemė yra toliausiai kairėje, signalas yra viduryje, o +3,3 V yra dešinėje. Naudodami laidą, prijunkite įžeminimą ir +3,3 V prie atitinkamų „Arduino“kaiščių ir prijunkite signalo laidą prie „Ardunio“2 skaitmeninio kaiščio. PASTABA: jei „Arduino“turite kitą kodą, turite atjungti valdiklį ir įkelti naują kodą iš kito puslapio į „Arduino“prieš įjungdami jį su prijungtu valdikliu. Prijunkite „Arduino“Prijunkite USB kabelį ir „Arduino“turės maitinimą.

2 veiksmas: išpakuokite ir paleiskite kodą

Šį kodą parašiau aš su N64_Arduino failo dalimis, pagrįstomis surinkimo kodu, kurį parašė Andrew Brownas. ZIP archyvai: Dviejuose žemiau esančiuose „Zip“failuose yra kodas, reikalingas „Arduino“paleidimui ir tada jo duomenų, kuriuos jis siunčia į kompiuterį, interpretuoti. Failas N64_Arduino turi būti sukompiliuotas naudojant „Arduino IDE“, o „N64_Controller“veikia apdorojant 1.0. N64_Arduino Šis PDE failas turėtų būti įkeltas į „Arduino“ir paleisti be kliūčių, jei viskas tinkamai prijungta. Jis paprasčiausiai paklausia N64 valdiklio, ar nėra duomenų apie mygtukus ir analoginę lazdelę, ir siunčia juos atgal į kompiuterį per nuoseklųjį prievadą. Pakankamai lengva modifikuoti, pavyzdžiui, galite naudoti šio failo metodus, kad atliktumėte užklausą valdikliui ir naudotumėte duomenis „Arduino“robotui paleisti, o ne perduoti jį atgal į kompiuterį. N64_Controller Tai yra 1.0 apdorojimo projektas, duomenis, kuriuos perduoda „Arduino“, ir paverčia juos klaviatūros paspaudimais, kuriuos galite susieti su emuliatoriumi, pavyzdžiui, projektu 64. Gali tekti pakeisti eilutę String portName = Serial.list () [1]; kad atitiktų jūsų „Arduino“, jis turėtų būti arba Serial.list () [0]; Serial.list () [1]; arba Serial.list () [2]; REDAGUOTI: pridėti „importuoti java.awt. Robot;“"importuoti java.awt. AWTException;" "importuoti java.awt.event. InputEvent;" į kodą, jei naudojate apdorojimą 1.1N64_Controller_mouse Tai tas pats, kas N64_Controller, išskyrus tai, kad analoginė lazda valdo pelę, o ne rodyklių klavišus. A ir B yra atitinkamai dešinysis ir kairysis spragtelėjimas. Norėdami įjungti pelę, paspauskite valdiklio pradžios mygtuką.

3 veiksmas: nustatykite projektą 64

64
64

Kad galėtumėte naudoti valdiklį, „Arduino“turi būti prijungtas ir paleisti kodą, kurį atsisiuntėte paskutiniame veiksme, o „Processing 1.0“turi būti atidarytas veikiant „N64_Controller“programai. Išbandykite „Notepad“, paspausdami mygtuką A, įveskite A, B - B ir tt. Taigi dabar turite veikiantį valdiklį (tikiuosi) ir norite žaisti kai kuriuos žaidimus. „Downl0ad PJ 64“-emu.com/downloads/Set Key Mappings Paleiskite PJ 64 ir pirmiausia atidarykite nustatymų meniu (Ctrl+T). Pakeiskite įvesties valdiklį į tiesioginę „N-Rage“įvestį. Atidarykite meniu „Konfigūruoti valdiklio papildinį“ir nustatykite atvaizdus naudodami valdiklį. Pradėkite žaisti! Dabar turėtumėte būti pasiruošę! Atsisiųskite keletą ROM ir pradėkite mėgautis „Homebrew N64“adapteriu.

4 žingsnis: „Arduino“kodas giliai

„Arduino“kodas giliai
„Arduino“kodas giliai

N64 protokolas Vieno laido sąsajoje į N64 valdiklį siunčiami ir iš jo siunčiami bitai yra užkoduoti 4 µs pločio impulsais. „0“yra 3 µs žemas ir 1 µs aukštas. A '1' yra 1 µs žemas ir 3 µs aukštas. „Arduino“kodas, naudojant metodus N64_send arba N64_recept, naudoja labai kruopščiai nustatytą surinkimo kodą, kurį parašė Andrew Brownas, kad bitų smūgis duomenų linijai palaikytų ryšį su valdikliu. nop blokai naudojami laukiant atitinkamų µs kiekių prieš apklausiant duomenų siuntimo eilutę. Paleidžiant 0x00 siunčiamas valdikliui, o po to vienintelė naudojama komanda yra 0x01, skirta užklausti valdiklio būseną. Duomenų kodavimas Kai duomenys gaunami po 0x01, jie gaunami kaip 16 bitų mygtuko informacijos ir 16 bitų analoginė vairasvirtės informacija. Duomenys atrodytų kaip 44000000000000400044440044000444. Bitų formatas yra: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bitų analoginių lazdos padėtis. Metodas translate_raw_data () eina per 32 bitus, įterpdamas juos į struktūrą N64_status. Pirmieji 16 bitų yra paprasti 1 arba 0, tačiau paskutiniai 16 yra išverstas į sveikąjį skaičių, esantį apytiksliai (-80, 80) diapazone (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+i]? (0x80 >> i): 0; } Kai duomenys yra tokios paprastos formos, su jais lengva daryti viską, ką norite. Šiuo atveju jis tiesiog siunčiamas per nuoseklųjį prievadą ciklo () metodu kaip dvejetainių duomenų eilutė su dviem sveikais skaičiais x ir y reikšmėms. Duomenys, siunčiami per nuoseklųjį prievadą, gali atrodyti taip: 0400000000000400 63 -67, o tai reikštų, kad buvo paspausti du mygtukai, o valdymo lazda buvo ties 63, -67.

5 žingsnis: nuorodos

Nuorodos
Nuorodos

Andrew Browno projektas sukurti žaidimų kubą į N64 su „Arduino“buvo neįkainojamas koduojant šį projektą:

Naudingas schemas rasite čia: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Informaciją apie N64 valdiklių nuosavybės protokolą rasite čia:

Rekomenduojamas: