Mündəricat:

N64 Controller ilə Arduino istifadə edin: 5 addım (şəkillərlə)
N64 Controller ilə Arduino istifadə edin: 5 addım (şəkillərlə)

Video: N64 Controller ilə Arduino istifadə edin: 5 addım (şəkillərlə)

Video: N64 Controller ilə Arduino istifadə edin: 5 addım (şəkillərlə)
Video: Новый контроллер Nintendo N64 в 2021 году… 2024, Iyun
Anonim
N64 Nəzarətçisi olan bir Arduino istifadə edin
N64 Nəzarətçisi olan bir Arduino istifadə edin

Arduino ilə NES nəzarətçisini istifadə etmək üçün dərslər var, lakin daha mürəkkəb N64 nəzarətçisindən və onun analog joystikindən istifadə etmək müəyyən bir cazibəyə malikdir. Ətrafınızda bir Arduino varsa və Adaptoid almaq istəmirsinizsə, bu təlimat, Ardunio və N64 nəzarətçi ilə Project 64 -də təqlid edilmiş oyunları oynamağı mümkün edəcək. / Əşyalarımı zədələyəcəkmi? Bu, nəzarətçinizi heç bir şəkildə dəyişdirməyəcək və naqillər çox sadədir, buna görə hər şeyi diqqətlə etsəniz, nəzarətçiniz üçün heç bir risk olmamalıdır və N64 konsolu ilə istifadə etmək üçün istənilən vaxt aça bilərsiniz. ehtiyac: Arduino - $ 30 İşlənmə 1.0 - pulsuzArduino Proqramı - pulsuz 3 ədəd tel - pulsuz (ümid edirəm) USB kabeli

Addım 1: Nəzarətçini naqilləşdirin

Nəzarətçiyə naqillərin çəkilməsi
Nəzarətçiyə naqillərin çəkilməsi
Nəzarətçiyə naqillərin çəkilməsi
Nəzarətçiyə naqillərin çəkilməsi
Nəzarətçiyə naqillərin çəkilməsi
Nəzarətçiyə naqillərin çəkilməsi

Etməyiniz lazım olan ilk şey Arduino -nuzu nəzarətçiyə bağlamaqdır. Nəzarətçi yalnız üç qurğudan istifadə edir: +3.3V, siqnal və torpaq. Birbaşa fişə baxanda, yer ən uzaqda, siqnal ortada, +3.3V isə sağdadır. Teldən istifadə edərək Arduino -dakı müvafiq pinlərə torpaq və +3.3V qoşun və siqnal ucunu Ardunio -dakı Digital 2 pininə bağlayın. Arduino -ya qoşulduqdan sonra Arduino -ya qoşulun və Arduino gücə sahib olacaq.

Addım 2: Paketi açın və kodu işlədin

Bu kod, Andrew Brown tərəfindən yazılmış montaj koduna əsaslanan N64_Arduino faylının hissələri ilə mənim tərəfimdən yazılmışdır. ZIP Arxivləri: Aşağıdakı iki Zip faylı Arduino -nu işə salmaq və sonra kompüterə göndərdiyi məlumatları şərh etmək üçün lazım olan kodu ehtiva edir. N64_Arduino faylının Arduino IDE -də tərtib edilməsi lazımdır və N64_Controller 1.0 Qenerasiya ilə işləyir. Sadəcə düymələr və Analog çubuqdakı məlumatlar üçün N64 nəzarətçisini sorğu -sual edir və serial port üzərindən yenidən kompüterə göndərir. Dəyişdirmək kifayət qədər asandır, məsələn, bu fayldakı metodlardan istifadə edərək nəzarətçini sorğu -sual edə və məlumatları Arduino robotunu kompüterə ötürmək əvəzinə onu işə salmaq üçün istifadə edə bilərsiniz. Arduino tərəfindən ötürülən məlumatlar və onu Project 64 kimi bir emulatorla əlaqələndirə biləcəyiniz klaviatura preslərinə çevirir. String portName = Serial.list () [1] xəttini dəyişdirmək lazım ola bilər. Arduino ilə uyğun gəlmək üçün ya Serial.list () [0] olmalıdır; Serial.list () [1]; və ya Serial.list () [2]; EDIT: "import java.awt. Robot;" əlavə edin "java.awt. AWTException idxalı;" İşləmə 1.1N64_Controller_mouse istifadə edirsinizsə, kodu "import java.awt.event. InputEvent;" Bu, N64_Controller ilə eynidır, ancaq analog çubuğun ox düymələrini deyil, siçanızı idarə etməsi. A və B sırasıyla sağ və sol klikdir. Siçanı aktivləşdirmək üçün idarəedicinizin başlanğıc düyməsini basın.

Addım 3: Layihə 64 qurun

Layihə qurmaq 64
Layihə qurmaq 64

Nəzarətçidən istifadə etməzdən əvvəl Arduinonun son addımda yüklədiyiniz kodu bağlamalı və işləməsi lazımdır və Processing 1.0 N64_Controller proqramı işləyərkən açıq olmalıdır. Notepadda sınayın, A düyməsini basaraq A yazın, B yazın və s. Beləliklə, indi işləyən bir nəzarətçiniz var (inşallah) və bəzi oyunlar oynamaq istərdiniz. -emu.com/downloads/Ayar Eşlemelerini Ayarlayın PJ 64 -ə başlayın və əvvəlcə ayarlar menyusunu açın (Ctrl+T). Giriş nəzarətçisini N-Rage-in birbaşa girişinə dəyişdirin. "Controller Plugin -i Konfiqurasiya et" menyusunu açın və nəzarətçidən istifadə edərək eşlemeleri təyin edin. Oynamağa başlayın! İndi getməyə hazır olmalısınız! Bəzi ROM yükləyin və homebrew N64 adapterindən zövq almağa başlayın.

Addım 4: Dərinlikdə Arduino Kodu

Dərinlikdə Arduino Kodu
Dərinlikdə Arduino Kodu

N64 Protokolu Bir telli interfeysdə N64 nəzarətçisinə göndərilən bitlər 4 µs genişliyində pulslarla kodlanır. A '0' 3 µs aşağı və 1 µs yüksəkdir. A '1' 1 µs aşağı və 3 µs yüksəkdir. N64_send və ya N64_receive metodlarındakı Arduino kodu, nəzarətçi ilə əlaqə qurmaq üçün məlumat xəttini bit vurmaq üçün Andrew Brown tərəfindən yazılmış çox diqqətlə təyin edilmiş vaxt kodunu istifadə edir. nop blokları, məlumat göndərmə xəttini seçməzdən əvvəl uyğun miqdarda µs gözləmək üçün istifadə olunur. Başlanğıcda, nəzarətçiyə 0x00 göndərilir və bundan sonra nəzarətçinin vəziyyətini soruşmaq üçün istifadə olunan yeganə əmr 0x01 -dir. Data Encoding 0x01 -dən sonra məlumatlar alındıqda, 16 bit düymə məlumatı və 16 bit olaraq gəlir. analog joystick məlumatları. Verilər 44000000000000400044440044000444 kimi görünür. Bitlərin formatı: A, B, Z, Başlat, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Kubok, Cdown, Yarıq, Cright + 16 bit analoq çubuq mövqeyi. Translate_raw_data () metodu 32 bitdən keçir və N64_status strukturuna daxil edir. İlk 16 bit sadə 1 və ya 0-dır, lakin son 16 ədəd (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+i]? (0x80 >> i): 0; } Məlumatlar bu sadə formada olduqdan sonra onunla istədiyinizi etmək asandır. Bu halda, loop () metodundakı seriyalı port üzərindən x və y dəyərləri üçün iki ədəd olan ikili məlumatların simli olaraq göndərilir. Serial port üzərindən göndərilən məlumatlar belə görünə bilər: 0400000000000400 63 -67, bu iki düyməyə basıldığını və idarə çubuğunun 63, -67 olduğunu göstərir.

Addım 5: İstinadlar

İstinadlar
İstinadlar

Endryu Braunun Arduino ilə N64 adapterinə bir gamecube yaratmaq layihəsi bu layihəni kodlaşdırarkən əvəzsiz idi:

Faydalı sxemləri burada tapa bilərsiniz: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php N64 nəzarətçilərinin mülkiyyət protokolu haqqında məlumatı burada tapa bilərsiniz:

Tövsiyə: