Мазмұны:

N64 контроллерімен Arduino қолданыңыз: 5 қадам (суреттермен)
N64 контроллерімен Arduino қолданыңыз: 5 қадам (суреттермен)

Бейне: N64 контроллерімен Arduino қолданыңыз: 5 қадам (суреттермен)

Бейне: N64 контроллерімен Arduino қолданыңыз: 5 қадам (суреттермен)
Бейне: Я восстановил самый желтый контроллер Super Nintendo 2024, Маусым
Anonim
N64 контроллері бар Arduino қолданыңыз
N64 контроллері бар Arduino қолданыңыз

NES контроллерін Arduino -мен қолдануға арналған оқулықтар бар, бірақ күрделі N64 контроллері мен оның аналогтық джойстикін қолдану белгілі тартымдылыққа ие. Егер сізде Arduino бар болса және Adaptoid сатып алғыңыз келмесе, бұл нұсқаулық сізге Ardunio және N64 контроллерімен Project 64 -те эмуляцияланған ойындарды ойнауға мүмкіндік береді. / Бұл менің заттарыма зиян келтіре ме? Бұл сіздің контроллеріңізді өзгертпейді және сым өте қарапайым, сондықтан егер сіз бәрін мұқият жасасаңыз, контроллерге ешқандай қауіп төнбеуі керек және оны кез келген уақытта N64 консолімен пайдалануға болады. қажет: Arduino - $ 30 Өңдеу 1.0 - ақысыз Arduino Software - ақысыз 3 дана сымсыз - ақысыз (үміттенемін) USB кабелі

1 -қадам: Контроллерді қосу

Контроллерді қосу
Контроллерді қосу
Контроллерді сыммен қосу
Контроллерді сыммен қосу
Контроллерді қосу
Контроллерді қосу

Біріншіден, Arduino -ны контроллерге қосу керек Контроллер тек үш сымды қолданады: +3.3V, сигнал және жер. Штепсельге тура қарасақ, жер сол жақта, сигнал ортасында, +3.3В оң жақта. Сымды қолдана отырып, Arduino -дегі тиісті түйреуіштерге жерге және +3.3В қосыңыз, және сигналдың сымын Ardunio -дағы Digital 2 істігіне қосыңыз. ЕСКЕРТПЕ: Егер Arduino -да басқа код болса, контроллерді ажыратып, жүктеу Келесі беттен жаңа код Arduino -ға қосылады, оны контроллермен қосуға болады. Arduino -ды қосыңыз USB кабелін қосыңыз, содан кейін Arduino қуат алады.

2 -қадам: Кодты орап, іске қосыңыз

Бұл кодты мен жаздым, N64_Arduino файлының бөліктері Эндрю Браун жазған құрастыру коды негізінде. ZIP мұрағаты: Төмендегі екі Zip файлында Arduino -ны іске қосуға, содан кейін компьютерге жіберілетін деректерді түсіндіру үшін қажет код бар. N64_Arduino файлын Arduino IDE -де құрастыру қажет, ал N64_Controller 1.0 өңдеуде жұмыс істейді. Ол N64 контроллерінен түймелер мен аналогтық таяқша туралы мәліметтерді сұрайды және оны компьютерге сериялық порт арқылы жібереді. Өзгерту өте оңай, мысалы, контроллерді сұрау үшін осы файлдағы әдістерді қолдана аласыз және Arduino роботын компьютерге қайта жіберудің орнына оны іске қосуға болады. Arduino беретін және оны пернетақта басуларына түрлендіретін деректер, Project 64 сияқты эмуляторға салыстыруға болады. Сізге String portName = Serial.list () [1] жолын өзгерту қажет болуы мүмкін; Arduino -ға сәйкес келу үшін ол Serial.list () [0] болуы керек; Serial.list () [1]; немесе Serial.list () [2]; ӨҢДЕУ: «import java.awt. Robot;» қосыңыз «java.awt. AWTException импорттау»; Егер сіз өңдеуді 1.1N64_Controller_mouse қолдансаңыз, кодқа «java.awt.event. InputEvent; импорттаңыз» Бұл N64_Controller сияқты, бірақ аналогтық таяқша көрсеткі пернелерін емес, тінтуірді басқарады. А және В тиісінше оң және сол жақ шерту. Тінтуірді іске қосу үшін контроллердегі іске қосу түймесін басыңыз.

3 -қадам: 64 -жобаны орнатыңыз

Жобаны орнату 64
Жобаны орнату 64

Контроллерді қолданар алдында Arduino соңғы қадамда жүктелген кодты қосуы және іске қосуы қажет, ал Processing 1.0 N64_Controller бағдарламасы жұмыс істеп тұрғанда ашық болуы керек. Блокнотта тексеріп көріңіз, А түймесін басқанда А, В тобында В және т.б. жазылады, сондықтан қазір сізде жұмыс істейтін контроллер бар (сенемін) және сіз кейбір ойындар ойнағыңыз келеді. -emu.com/downloads/Кілттерді салыстыруды орнатыңыз PJ 64 бағдарламасын іске қосыңыз және алдымен параметрлер мәзірін ашыңыз (Ctrl+T). Кіріс контроллерін N-Rage тікелей кірісіне өзгертіңіз. «Контроллер контроллерінің плагинін» ашыңыз және контроллердің көмегімен салыстыруларды орнатыңыз. Ойнатуды бастаңыз! Барлығын қазірден бастап жасауға болады! Кейбір ROM дискілерін жүктеп алыңыз және N64 адаптерін қолданыңыз.

4 -қадам: тереңдікте Arduino коды

Тереңдіктегі Arduino коды
Тереңдіктегі Arduino коды

N64 протоколы Бір сымды интерфейстегі N64 контроллеріне жіберілетін және жіберілетін биттер ені 4 мкм импульстарда кодталған. A '0' 3 мкс төмен және 1 мкс биіктікте. A '1' - 1 мкс төмен және биіктігі 3 мкс. N64_send немесе N64_receive әдістеріндегі Arduino коды контроллермен байланысу үшін деректер желісін біршама жару үшін Эндрю Браун жазған өте мұқият белгіленген уақытты жинау кодын қолданады. nop блоктар деректерді жіберу желісін сұрау алдында тиісті микронды күтіп тұру үшін қолданылады. Іске қосылған кезде контроллерге 0x00 жіберіледі, содан кейін контроллердің күйін сұрау үшін 0x01 пайдаланылатын жалғыз команда болады. аналогтық джойстик туралы ақпарат. Деректер 44000000000000400044440044000444 сияқты болады. Биттердің пішімі: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 бит аналогты таяқша позициясы. Translate_raw_data () әдісі 32 биттен өтеді, оларды N64_status құрылымына енгізеді. Алғашқы 16 бит қарапайым 1 немесе 0, бірақ соңғы 16 бүтін санға шамамен (-80, 80) диапазонында (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+i]? (0x80 >> i): 0; } Деректер осы қарапайым түрде болғаннан кейін, онымен қалаған нәрсені жасау оңай. Бұл жағдайда ол цикл () әдісіндегі сериялық порт арқылы x және y мәндері үшін екі бүтін сандары бар екілік деректер тізбегі ретінде жіберіледі. Сериялық порт арқылы жіберілген деректер келесідей болуы мүмкін: 0400000000000400 63 -67, бұл екі түйме басылғанын және басқару таяқшасы 63, -67 болатынын білдіреді.

5 -қадам: Әдебиеттер

Әдебиеттер
Әдебиеттер

Эндрю Браунның Arduino көмегімен N64 адаптеріне геймекубек жасау жобасы бұл жобаны кодтау кезінде баға жетпес болды:

Пайдалы схемаларды мына жерден табуға болады: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php N64 контроллерлерінің меншікті хаттамасы туралы ақпаратты мына жерден табуға болады:

Ұсынылған: