Isi kandungan:

Gunakan Arduino Dengan Pengawal N64: 5 Langkah (dengan Gambar)
Gunakan Arduino Dengan Pengawal N64: 5 Langkah (dengan Gambar)

Video: Gunakan Arduino Dengan Pengawal N64: 5 Langkah (dengan Gambar)

Video: Gunakan Arduino Dengan Pengawal N64: 5 Langkah (dengan Gambar)
Video: Step-By-Step Mengubah Webcam Internal Laptop/notebook menjadi USB Webcam (DIY) 2024, Jun
Anonim
Gunakan Pengawal Arduino Dengan N64
Gunakan Pengawal Arduino Dengan N64

Terdapat tutorial di luar sana untuk menggunakan pengawal NES dengan Arduino, tetapi menggunakan pengawal N64 yang lebih rumit dan kayu bedik analognya mempunyai daya tarikan yang pasti. Sekiranya anda mempunyai Arduino dan tidak mahu membeli Adaptoid, arahan ini akan memungkinkan untuk bermain permainan yang ditiru di Project 64 dengan Ardunio dan pengawal N64 anda. Adakah ini sukar? / Adakah ia akan merosakkan barang saya? Ini tidak akan mengubah pengawal anda dengan cara apa pun, dan pendawaiannya sangat mudah, jadi jika anda melakukan semuanya dengan teliti, tidak ada risiko bagi pengawal anda, dan anda boleh melepaskannya pada bila-bila masa untuk digunakan dengan konsol N64. perlukan: Arduino - $ 30Proses 1.0 - percuma Perisian Arduino - percuma 3 helai wayar - percuma (saya harap) kabel USB

Langkah 1: Pendawaian Pengawal

Pendawaian Pengawal
Pendawaian Pengawal
Pendawaian Pengawal
Pendawaian Pengawal
Pendawaian Pengawal
Pendawaian Pengawal

Perkara pertama yang perlu anda lakukan ialah menyambungkan Arduino anda ke alat kawalan Pengawal hanya menggunakan tiga petunjuk: + 3.3V, isyarat, dan arde. Melihat langsung pada palam, tanah berada paling kiri kiri, isyarat berada di tengah, dan + 3.3V di sebelah kanan. Dengan menggunakan wayar, sambungkan ground dan + 3.3V ke pin masing-masing di Arduino, dan sambungkan plumbum isyarat ke pin 2 Digital di Ardunio. CATATAN: Sekiranya anda mempunyai kod lain di Arduino anda, anda harus memutuskan kawalan dan memuat naik kod baru dari halaman seterusnya ke Arduino sebelum menghidupkannya dengan pengawal terpasang. Sambungkan Arduino Sambungkan kabel USB dan Arduino akan mempunyai kuasa.

Langkah 2: Bongkar dan Jalankan Kod

Kod ini ditulis oleh saya, dengan bahagian fail N64_Arduino berdasarkan kod pemasangan yang ditulis oleh Andrew Brown. ZIP Archives: Kedua-dua fail Zip di bawah ini mengandungi kod yang diperlukan untuk menjalankan Arduino dan kemudian untuk mentafsirkan data yang dihantarnya ke komputer. Fail N64_Arduino perlu dikompilasi di Arduino IDE, dan N64_Controller berjalan dalam Pemprosesan 1.0. N64_Arduino Fail PDE ini harus dimuat naik ke Arduino anda dan berjalan tanpa halangan jika anda mempunyai semua yang tersambung dengan betul. Ia hanya meminta pengawal N64 untuk data pada butang dan tongkat Analog dan menghantarnya kembali ke komputer melalui port bersiri. Cukup mudah untuk mengubah suai, sebagai contoh, anda boleh menggunakan kaedah dari fail ini untuk meminta pengawal dan menggunakan data untuk menjalankan robot Arduino dan bukannya menghantarnya kembali ke komputer. N64_Controller Ini adalah projek Pemprosesan 1.0 yang mengambil data yang dihantar oleh Arduino dan mengubahnya menjadi menekan papan kekunci yang boleh anda petakan ke emulator seperti Project 64. Anda mungkin perlu menukar garis String portName = Serial.list () [1]; untuk memadankan Arduino anda, mestilah Serial.list () [0]; Siri. senarai () [1]; atau Serial.list () [2]; EDIT: Tambahkan "import java.awt. Robot;" "import java.awt. AWTException;" "import java.awt.event. InputEvent;" ke kod jika anda menggunakan Pemprosesan 1.1N64_Controller_mouse Ini sama dengan N64_Controller, kecuali bahawa tongkat analog mengawal tetikus anda, bukan kekunci anak panah. A dan B masing-masing adalah klik kanan dan kiri. Untuk mengaktifkan tetikus, tekan butang mula pada alat kawalan anda.

Langkah 3: Siapkan Projek 64

Siapkan Projek 64
Siapkan Projek 64

Sebelum anda dapat menggunakan pengawal, Arduino perlu disambungkan dan menjalankan kod yang anda muat turun pada langkah terakhir, dan Pemprosesan 1.0 perlu dibuka dengan program N64_Controller berjalan. Uji di Notepad, menekan butang A harus menaip A, B harus menaip B, dll. Jadi sekarang anda mempunyai pengawal yang berfungsi (semoga) dan anda ingin bermain beberapa permainan. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Set Key MappingsMulai PJ 64 dan buka menu tetapan terlebih dahulu (Ctrl + T). Tukar pengawal input ke input langsung N-Rage. Buka menu "Configure Controller Plugin" dan atur pemetaan menggunakan pengawal. Mulakan Bermain! Anda sudah bersedia untuk pergi sekarang! Muat turun beberapa ROM dan mula menikmati penyesuai homebrew N64 anda.

Langkah 4: Kod Arduino dalam Kedalaman

Kod Arduino dalam Kedalaman
Kod Arduino dalam Kedalaman

Protokol N64 Bit yang dihantar ke dan dari pengawal N64 pada antara muka wayar dikodkan dalam denyutan lebar 4 µs. A '0' rendah 3 µs dan tinggi 1 µs. A '1' rendah 1 µs dan tinggi 3 μs. Kod Arduino dalam kaedah N64_send atau N64_recece menggunakan kod pemasangan masa yang sangat berhati-hati yang ditulis oleh Andrew Brown untuk menggigit garis data untuk berkomunikasi dengan pengawal. blok nop digunakan untuk menunggu jumlah µs yang sesuai sebelum mengundi barisan penghantaran data. Pada permulaan, 0x00 dihantar ke pengawal, dan kemudian selepas itu satu-satunya arahan yang digunakan adalah 0x01 untuk meminta status pengawal. Pengekodan Data Apabila data diterima selepas 0x01, ia akan diterima sebagai 16 bit maklumat butang dan 16 bit maklumat kayu bedik analog. Data akan kelihatan seperti 44000000000000400044440044000444. Format bit adalah: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bit analog kedudukan tongkat. Kaedah translate_raw_data () melalui 32 bit, memasukkannya ke dalam struktur N64_status. 16 bit pertama mudah 1 atau 0, tetapi 16 bit terakhir diterjemahkan ke dalam bilangan bulat kira-kira dalam julat (-80, 80) oleh untuk (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16 + i]? (0x80 >> i): 0; } Setelah data dalam bentuk sederhana ini, mudah untuk melakukan apa sahaja yang anda inginkan dengannya. Dalam kes ini, ia hanya dihantar melalui port bersiri dalam kaedah loop () sebagai rentetan data binari dengan dua bilangan bulat untuk nilai x dan y. Data yang dihantar melalui port bersiri mungkin seperti: 0400000000000400 63 -67 yang bermaksud bahawa dua butang ditekan dan batang kawalan berada pada 63, -67.

Langkah 5: Rujukan

Rujukan
Rujukan

Projek Andrew Brown untuk membuat gamecube ke adaptor N64 dengan Arduino tidak ternilai ketika membuat kod untuk projek ini:

Skema berguna boleh didapati di sini: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Maklumat mengenai protokol proprietari pengendali N64 boleh didapati di sini:

Disyorkan: