Daftar Isi:

Konsol Game Buatan Sendiri- "NinTIMdo RP": 7 Langkah (dengan Gambar)
Konsol Game Buatan Sendiri- "NinTIMdo RP": 7 Langkah (dengan Gambar)

Video: Konsol Game Buatan Sendiri- "NinTIMdo RP": 7 Langkah (dengan Gambar)

Video: Konsol Game Buatan Sendiri-
Video: Sewa gameboy di sekolah 😂 2024, Desember
Anonim
Image
Image
Konsol Game Buatan Sendiri
Konsol Game Buatan Sendiri

Tautan ke halaman web dengan penjelasan lebih mendalam, daftar bagian, dan file

timlindquist.me

Proyek ini adalah untuk membuat sistem permainan portabel yang juga dapat berfungsi ganda sebagai komputer portabel. Tujuannya adalah untuk membuat konsol yang fungsional dan juga estetis.

Daftar Bagian:

docs.google.com/spreadsheets/d/1Ay6-aW4nAt…

Langkah 1: Cetak Kasus

Cetak Kasus
Cetak Kasus
Cetak Kasus
Cetak Kasus

Untuk mencetak perangkat, unduh file model 3D saya dan kirimkan ke printer 3D Anda. Printer yang saya gunakan adalah Prusa i3 Mk2 beserta filamen plastik hitam. Kualitas pencetakan ditemukan paling baik dalam pengaturan resolusi sedang. Pastikan untuk menambahkan bahan struktural di bawah perangkat (Pegangan tangan akan terlihat buruk tanpanya). Bagian belakang dicetak dengan bagian belakang rata dengan piring. Potongan depan dicetak dengan muka depan rata dengan piring. Jika saya mencetak kasus lain, saya ingin menggunakan warna baru seperti ungu atom untuk memamerkan bagian dalamnya. Jika Anda seperti saya dan memiliki tempat tidur cetak 8 inci untuk digunakan, Anda perlu mencetak versi 4 lembar yang akan dirakit setelah dicetak. Namun, jika tempat tidur Anda cukup besar untuk dijadikan satu bagian, cetak pelat depan dan belakang sebagai satu kesatuan dan hindari rasa sakit saat menyatukannya.

File Model:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Langkah 2: Perakitan Kasus

Perakitan Kasus
Perakitan Kasus
Perakitan Kasus
Perakitan Kasus

Untuk merakit, pertama gabungkan bagian depan kanan dan kiri dengan memasukkan pasak logam ke dalam lubang pelurusan. Selanjutnya tempatkan lem super pada sambungan dan kencangkan setengahnya. Ulangi proses untuk kanan bawah dan kiri kaya. Setelah ini Anda harus dibiarkan dengan bagian depan dan belakang yang dirakit. Sekarang saatnya untuk memasang 5 standoff logam untuk menggabungkan pelat depan dan belakang. Cara termudah untuk melakukannya adalah dengan terlebih dahulu mendapatkan stand off dengan panjang yang benar. Kedalaman 13 mm di belakang kedalaman 5 mm di depan. Jadi buat kebuntuan 18mm atau sedikit kurang. Saya melakukan ini dengan menempatkan kebuntuan yang lebih panjang di pegangan wakil dan menggunakan penggiling untuk mengurangi ukurannya. Pastikan hanya menggiling satu sisi karena Anda akan membutuhkan benang di sisi lain. Setelah Anda mendapatkan lem panjang yang benar semua penggiling dari sisi ke wajah depan menggunakan lem gorila biasa dan biarkan kering. Pastikan mereka semua berdiri tegak selama proses ini. Setelah kering kerok lem bagus yang berbusa sehingga wajah bisa rata saat disatukan. Sekarang lihat apakah Anda dapat memasukkan pelat belakang ke standoff untuk bergabung dengan bagian depan. Sekrup bersama-sama melalui pelat belakang untuk mengamankan. Rekatkan layar dengan melapisi bingkai dengan tabung duel Gorilla Epoxy. Saya memakai terlalu banyak ketika saya melakukan ini dan itu meluap ke layar. Untungnya itu menular! Jepit dan biarkan kering sebentar lalu lapisi bagian belakang dengan lem gorila biasa.

**Catatan: Usahakan untuk tidak mendapatkan lem CA yang tipis (lem super) di bagian luar karena akan "membakar" PLA dan menodai warna putih.

Langkah 3: Sirkuit

sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit

Sirkuit Tombol:

Menangkap semua penekanan tombol dilakukan menggunakan Teensy ++ 2.0. Pin digital pada mikrokontroler digunakan untuk tombol tekan biner apa pun. Pin analog digunakan untuk tombol yang memiliki banyak status seperti joystick. Untuk menyambungkan pin digital sederhana, sambungkan pin digital ke sakelar, hubungkan ujung sakelar yang lain ke ground. Ketika tombol ditekan, itu akan menarik pin tegangan tinggi ke bawah agar pengontrol dapat merasakan. Anda tidak perlu khawatir tentang resistor karena sudah termasuk dalam papan Teensy. Untuk menghubungkan pin analog, Anda perlu membiaskan perangkat analog Anda dengan tegangan tinggi dan rendah dan membaca level tegangan dengan rentang tersebut pada pin analog. Untuk joystick ada 3 input untuk setiap sumbu. Pasokan 5V ke salah satu pin, GND ke pin lain dan jalur baca tegangan ke yang terakhir. Pastikan untuk menghubungkan ini dengan benar atau tidak akan bekerja (gunakan multimeter untuk melihat apakah perubahan tegangan output pada pin yang benar.) Pada dasarnya joystick adalah resistor variabel yang bekerja seperti pembagi tegangan. Tegangan output pada pin baca akan bervariasi antara 0 dan 5V tergantung pada posisi joystick. (Biasanya bias 5V dan GND berada di pin input luar joystick dan yang di tengah akan menjadi pin pembacaan tegangan variabel Anda. Jika 5V dan GND berbeda dari milik saya, kontrol Anda akan dibalik, ini dapat diperbaiki dalam perangkat lunak atau rewiring).

Sirkuit Daya:

Baterai Anker tiga sel memasok daya ke seluruh perangkat. Untuk menghidupkan/mematikan perangkat, output dari pengatur baterai dihubungkan ke sakelar dan kemudian Raspberry Pi. Karena perangkat dapat menarik hingga 2A, sakelar sakelar 250mA sederhana tidak dapat menangani kebutuhan saat ini. Sebagai gantinya Anda dapat menggunakan sakelar untuk mengontrol tegangan gerbang pada transistor PMOS untuk melayani tujuan sakelar. Hubungkan 5V baterai ke sumber transistor PMOS dan sakelar. Ujung sakelar yang lain dihubungkan ke gerbang transistor PMOS dan ke resistor 10K yang terhubung ke GND (ketika sakelar terbuka untuk mencegah gerbang mengambang, ia mengikatnya ke GND melalui resistor). Drain dihubungkan ke input 5V pada Raspberry Pi bersama dengan ground. Untuk mengisi daya baterai, cukup sambungkan papan breakout female USB mikro ke pin pengisian daya yang benar (meluaskan input ke casing). Saya menyembunyikan sakelar ini di saluran masuk udara di bagian belakang perangkat. Awalnya saya berencana untuk mengaktifkan dan menonaktifkan tombol baterai dengan menahannya selama durasi tertentu, sayangnya saya kehabisan ruang dan harus melakukan implementasi sederhana. Desain alternatif ini ditunjukkan dalam skema di bawah ini.

Sirkuit Audio:

Untuk audio, saya ingin suara diputar secara alami dari speaker (jika tidak dibisukan) dan dialihkan ke headphone jika terpasang. Untungnya, banyak jack telepon kepala 3,5 mm perempuan secara mekanis mampu melakukan ini. Ketika steker laki-laki dimasukkan, ujung speaker akan menekuk dan membuat sirkuit terbuka, sehingga mencegah sinyal mencapai speaker. Karena speaker memiliki beban yang lebih besar, sinyal audio harus diperkuat agar dapat mendengarnya. Ini dilakukan dengan menggunakan amplifier kelas D stereo yang saya temukan di adafruit. Cukup biaskan amplifier dengan 5V dan GND. Kami tidak memiliki input audio diferensial, jadi hubungkan speaker kiri dan kanan ke terminal positif dan ikat terminal negatif ke GND. Gain disesuaikan menggunakan jumper. Saya mengatur penguatan ke maksimum dan mengubah amplitudo sinyal audio keluaran melalui perangkat lunak untuk menyesuaikan volume. Untuk mematikan perangkat saya memiliki transistor NMOS yang mengendalikan bias 5V. Gerbang transistor NMOS ini dikendalikan oleh Teensy. Masalah yang saya miliki adalah suara frekuensi tinggi yang konstan hadir di speaker eksternal. Saya akan menganalisis ini pada osiloskop, mungkin berasal dari bias 5V karena beberapa regulator beralih pada baterai atau saluran mungkin mengambil RF di suatu tempat. Juga, pastikan untuk memutar garis kanan dan kiri untuk meminimalkan interferensi elektromagnetik (EMI).

Langkah 4: Sirkuit Periferal

Sirkuit Periferal
Sirkuit Periferal
Sirkuit Periferal
Sirkuit Periferal

Sirkuit ini termasuk dudukan USB dan indikator LED. Pesan PCB di tautan saya dan potong menjadi dua di sepanjang garis putus-putus menggunakan gergaji pita. Di sisi USB, semua solder dua port USB perempuan ke papan. Di sisi LED solder 5 LED dan 5 resistor secara seri. 5V, GND, D+, D-dapat diperpanjang menggunakan kabel dari USB Raspberry PI yang disolder ke PCB. PCB LED dapat ditempatkan sehingga cahaya bersinar melalui lubang di atas kasing. Hubungkan 5 output PWM dari Teensy ke LED bersama dengan GND. Dengan memvariasikan siklus tugas Anda dapat mengubah kecerahan LED.

Beli PCB:

Langkah 5: Pemrograman

Pemrograman
Pemrograman
Pemrograman
Pemrograman
Pemrograman
Pemrograman

Amat kecil:

Jika Anda menghubungkannya persis sama dengan saya, Anda bisa menggunakan kode yang saya berikan di Github. Namun, saya akan merekomendasikan untuk menulisnya sendiri karena Anda akan memahami sistem dengan lebih baik dan dapat dengan mudah memanipulasi dan menyesuaikannya sesuai keinginan Anda. Pemrograman sangat sederhana, itu benar-benar turun untuk menulis banyak pernyataan if untuk memeriksa apakah tombol Anda ditekan. Satu set instruksi bermanfaat dari PJRC. Anda dapat menggunakan Arduino IDE untuk menulis kode Anda serta mengunggah ke Teensy.

KODE:

github.com/timlindquist/Nintimdo-RP

Tombol Digital: Contoh ini menunjukkan saya memeriksa untuk melihat apakah pin digital 20 ditekan dan kemudian mengeluarkan perintah joystick serial yang benar. Anda dapat memilih 1 hingga 32 untuk tombol karena Retropie melakukan pengaturan pemetaan pengontrol di awal. Joystick.button(tombol: 1-32, Ditekan=1 Dilepas=0)

Tombol Analog:

Dalam contoh, joystick vertikal kanan dihubungkan ke pin analog 41. Fungsi analogRead(pin) menerima level tegangan antara 0 dan 5V dan mengembalikan nilai 0 hingga 1023. Posisi tengah yang ideal akan sesuai dengan 2.5V atau 512, namun hal ini tidak terjadi pada stik analog saya sehingga perlu dilakukan penyesuaian. Ini dilakukan melalui pemetaan ulang yang ditunjukkan di bawah ini. Setelah itu saya perlu memeriksa apakah batasnya tidak melebihi 0 hingga 1023. Terakhir, perintah joystick analog dikirim melalui serial menjadi tombol analog Z menggunakan Joystick. Z (nilai 0 hingga 1023).

Langkah 6: Dok Opsional

Dermaga Opsional
Dermaga Opsional
Dermaga Opsional
Dermaga Opsional
Dermaga Opsional
Dermaga Opsional

Dermaga:

Bangunan ini tidak akan lengkap tanpa dok untuk pengisian daya dan pemasangan TV yang mudah, jadi saya mendesainnya pada gambar di bawah. Model 3D tersedia dengan yang lain dalam paket Github saya.

Model:

github.com/timlindquist/Nintimdo-RP_3D_mod…

Langkah 7: Hasil

Hasil
Hasil
Hasil
Hasil
Hasil
Hasil
Hasil
Hasil

Kalau dipikir-pikir, saya berharap saya melakukan port HDMI out dengan PCB alih-alih dudukan dinding wanita yang sudah dibeli sebelumnya. Ini akan menghemat banyak ruang pada kenyataannya saya harus menyelipkan kabel dalam spiral untuk menghindari pemotongan dan menyolder ulang 19 kabel. Saya bingung menggunakan baterai yang lebih kecil karena tinggi sel adalah faktor pembatas saya dalam ketebalan seluruh perangkat. Namun, mengurangi ini akan berdampak negatif pada masa pakai baterai saya.

Secara total ini saya biaya sekitar $350 untuk membuat. Ini tidak termasuk raspberry pi yang saya pecahkan untuk mengurangi ukurannya… Masih senang saya mencobanya. Itu adalah proyek musim panas yang menyenangkan untuk melihat apakah saya bisa membuatnya sekompak mungkin sambil pada saat yang sama memasang banyak fitur keren di dalamnya.

Direkomendasikan: