Cov txheej txheem:

Siv Arduino Nrog N64 Tus Tswj: 5 Kauj Ruam (nrog Duab)
Siv Arduino Nrog N64 Tus Tswj: 5 Kauj Ruam (nrog Duab)

Video: Siv Arduino Nrog N64 Tus Tswj: 5 Kauj Ruam (nrog Duab)

Video: Siv Arduino Nrog N64 Tus Tswj: 5 Kauj Ruam (nrog Duab)
Video: Computer Vision with Python! Resizing Images 2024, Lub rau hli ntuj
Anonim
Siv Arduino Nrog N64 Tus Tswj
Siv Arduino Nrog N64 Tus Tswj

Muaj cov kev qhia tawm rau siv NES maub los nrog Arduino, tab sis siv qhov nyuaj dua N64 maub los thiab nws cov joystick analog muaj qhov tsis txaus siab meej. Yog tias koj muaj Arduino nyob ib puag ncig thiab tsis xav yuav Adaptoid, cov lus qhia no yuav ua rau nws muaj peev xwm ua si emulated games hauv Project 64 nrog koj Ardunio thiab N64 maub los. Kev nyuaj npaum li cas? / Nws puas puas rau kuv cov khoom? Qhov no yuav tsis hloov kho koj li kev tswj hwm txhua txoj hauv kev, thiab cov xov hlau tau yooj yim heev, yog li yog tias koj ua txhua yam ua tib zoo yuav tsum tsis muaj kev pheej hmoo rau koj tus tswj hwm, thiab koj tuaj yeem tshem nws txhua lub sijhawm kom siv nrog N64 console. xav tau: Arduino - $ 30Processing 1.0 - freeArduino Software - dawb 3 daim hlau - dawb (Kuv vam tias) USB cable

Kauj ruam 1: Txuas tus Tswj

Txuas tus Tswj
Txuas tus Tswj
Txuas tus Tswj
Txuas tus Tswj
Txuas tus Tswj
Txuas tus Tswj

Thawj qhov koj yuav tsum tau ua yog txuas koj Arduino rau tus tswj Tus tswj tsuas yog siv peb tus coj: +3.3V, teeb liab, thiab hauv av. Saib ncaj qha ntawm lub ntsaws, hauv av nyob deb tshaj plaws, teeb liab nyob hauv nruab nrab, thiab +3.3V nyob sab xis. Siv cov xaim, txuas hauv av thiab +3.3V rau tus lej sib txuas ntawm Arduino, thiab txuas lub teeb liab coj mus rau Digital 2 tus pin ntawm Ardunio. NOTE: Yog tias koj muaj lwm tus lej ntawm koj Arduino, koj yuav tsum txuas tus tswj hwm thiab xa tawm tus lej tshiab los ntawm nplooj ntawv tom ntej mus rau Arduino ua ntej tso nws nrog tus tswj txuas nrog. Txuas Arduino Txuas USB cable thiab Arduino yuav muaj hwj chim.

Kauj ruam 2: Unpack thiab Khiav Code

Tus lej no tau sau los ntawm kuv, nrog ntu ntawm N64_Arduino cov ntaub ntawv raws li cov lej sib dhos sau los ntawm Andrew Brown. ZIP Cov Ntaub Ntawv: Ob Zip cov ntaub ntawv hauv qab no muaj cov cai xav tau los ua haujlwm Arduino thiab tom qab ntawd txhais cov ntaub ntawv nws xa mus rau lub khoos phis tawj. N64_Arduino cov ntaub ntawv yuav tsum tau muab tso ua ke hauv Arduino IDE, thiab N64_Controller khiav hauv Kev Ua Haujlwm 1.0. N64_Arduino Cov ntaub ntawv PDE no yuav tsum xa mus rau koj Arduino thiab khiav yam tsis muaj qhov cuam tshuam yog tias koj muaj txhua yam txuas nrog kom raug. Nws yooj yim nug N64 tus tswj hwm rau cov ntaub ntawv ntawm cov nyees khawm thiab Analog lo thiab xa rov qab mus rau lub khoos phis tawj hla ntawm qhov chaw nres nkoj. Nws yog qhov yooj yim txaus los hloov, piv txwv li, koj tuaj yeem siv cov txheej txheem los ntawm cov ntaub ntawv no los nug tus tswj hwm thiab siv cov ntaub ntawv los ua haujlwm Arduino neeg hlau tsis txhob xa nws rov qab mus rau lub computer. N64_Controller Qhov no yog Kev Ua Haujlwm 1.0 qhov haujlwm uas siv cov ntaub ntawv xa los ntawm Arduino thiab hloov nws mus rau hauv keyboard nias uas koj tuaj yeem ua daim duab qhia chaw rau tus emulator zoo li Project 64. Koj yuav xav tau hloov txoj kab Txoj hlua portName = Serial.list () [1]; kom phim koj Arduino, nws yuav tsum yog Serial.list () [0]; Serial.list () [1]; lossis Serial.list () [2]; Kho: Ntxiv "ntshuam java.awt. Robot;" "ntshuam java.awt. AWTException;" "ntshuam java.awt.event. InputEvent;" rau cov cai yog tias koj tab tom siv Ua 1.1N64_Controller_mouse Qhov no zoo ib yam li N64_Controller, tshwj tsis yog tias cov analog analog tswj koj tus nas, tsis yog cov xub tuav. A thiab B yog txoj cai thiab sab laug nyem, feem. Txhawm rau qhib tus nas, nias lub pob pib ntawm koj tus tswj.

Kauj Ruam 3: Teeb Txoj Haujlwm 64

Teeb Txoj Haujlwm 64
Teeb Txoj Haujlwm 64

Ua ntej koj tuaj yeem siv tus tswj hwm, Arduino xav tau kev sib txuas thiab khiav cov cai koj rub tawm hauv theem kawg, thiab Kev Ua Haujlwm 1.0 xav tau qhib nrog N64_Controller program khiav. Kuaj nws tawm hauv Notepad, nias lub pob A yuav tsum ntaus A, B yuav tsum ntaus tus B, thiab lwm yam. Yog li tam sim no koj muaj tus tswj hwm ua haujlwm (vam tias) thiab koj xav ua si qee qhov game. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Set Key MappingsStart PJ 64 thiab qhib cov ntawv qhia zaub mov ua ntej (Ctrl+T). Hloov cov tswj kev nkag mus rau N-Rage qhov kev nkag ncaj qha. Qhib lub "Configure Controller Plugin" ntawv qhia zaub mov thiab teeb tsa daim ntawv qhia kev siv tus tswj. Pib Ua Si! Koj yuav tsum tau npaj txhua yam mus tam sim no! Rub tawm qee qhov ROMs thiab pib txaus siab rau koj lub homebrew N64 adapter.

Kauj Ruam 4: Arduino Code hauv Qhov tob

Arduino Code hauv Qhov tob
Arduino Code hauv Qhov tob

Txoj Cai N64 Cov khoom xa mus rau thiab los ntawm N64 tus tswj ntawm ib lub xov hlau sib txuas tau nkag rau hauv 4 µs dav pulses. A '0' yog 3 lows qis thiab 1 highs siab. A '1' yog 1 lows qis thiab 3 highs siab. Tus lej Arduino hauv txoj hauv kev N64_send lossis N64_receive siv ua tib zoo siv sijhawm sib sau ua ke sau los ntawm Andrew Brown txhawm rau txhawm rau tsoo cov kab ntawv sib tham nrog tus tswj. nop thaiv tau siv los tos qhov tsim nyog ntawm befores ua ntej pov npav txoj kab ntawm kev xa cov ntaub ntawv. Thaum pib, 0x00 raug xa mus rau tus tswj hwm, thiab tom qab ntawd qhov tsuas yog siv cov lus txib yog 0x01 txhawm rau nug txog tus tswj hwm xwm txheej. Data Encoding Thaum cov ntaub ntawv tau txais tom qab 0x01, nws tuaj txog li 16 khoom ntawm cov ntaub ntawv khawm thiab 16 khoom ntawm cov ntaub ntawv analog joystick. Cov ntaub ntawv yuav zoo li 44000000000000400044440044000444. Hom ntawv ntawm cov khoom yog: A, B, Z, Pib, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 khoom ntawm analog lo txoj hauj lwm. Txoj kev translate_raw_data () hla dhau 32 cov khoom, tso lawv rau hauv cov qauv N64_status. Thawj 16 cov khoom yog qhov yooj yim 1 lossis 0, tab sis 16 qhov kawg tau muab txhais ua cov lej kwv yees nyob hauv thaj tsam (-80, 80) los ntawm (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+kuv]? (0x80 >> kuv): 0; } Tom qab cov ntaub ntawv nyob hauv daim ntawv yooj yim no, nws yooj yim los ua txhua yam koj xav tau nrog nws. Hauv qhov no, nws tsuas yog xa hla qhov chaw nres nkoj hauv lub voj () txheej txheem raws li txoj hlua ntawm cov ntaub ntawv binary nrog ob tus lej rau x thiab y qhov tseem ceeb. Cov ntaub ntawv xa hla qhov chaw nres nkoj tuaj yeem zoo li: 0400000000000400 63 -67 uas yuav txhais tau tias ob lub nyees khawm tau raug nias thiab cov tswj tuav tau ntawm 63, -67.

Kauj Ruam 5: Cov neeg ua tim khawv

Cov neeg ua tim khawv
Cov neeg ua tim khawv

Andrew Brown txoj haujlwm los tsim gamecube rau N64 adapter nrog Arduino yog qhov muaj txiaj ntsig thaum coding rau txoj haujlwm no:

Cov tswv yim pab tau tuaj yeem nrhiav tau ntawm no: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Cov ntaub ntawv ntawm N64 cov tswj hwm tus txheej txheem tuaj yeem nrhiav tau ntawm no:

Pom zoo: