Daftar Isi:

Pengontrol Game Keluarga 4 Pemain Nirkabel: 3 Langkah
Pengontrol Game Keluarga 4 Pemain Nirkabel: 3 Langkah

Video: Pengontrol Game Keluarga 4 Pemain Nirkabel: 3 Langkah

Video: Pengontrol Game Keluarga 4 Pemain Nirkabel: 3 Langkah
Video: Tertangkap cctv jin peniru 2024, November
Anonim
Pengontrol Game Keluarga 4 Pemain Nirkabel
Pengontrol Game Keluarga 4 Pemain Nirkabel
Pengontrol Game Keluarga 4 Pemain Nirkabel
Pengontrol Game Keluarga 4 Pemain Nirkabel
Pengontrol Game Keluarga 4 Pemain Nirkabel
Pengontrol Game Keluarga 4 Pemain Nirkabel

Ini adalah pengontrol gaya arcade nirkabel yang dapat dimainkan oleh 4 orang sekaligus. Ini nirkabel sehingga Anda tidak perlu menambatkan pc Anda ke pengontrol yang digunakan oleh anak berusia 5 tahun. Mereka jatuh sepanjang waktu dan saya tidak ingin mereka menghancurkan semua mainan saya ketika mereka tersandung kabel. Kami baru-baru ini membeli monitor komputer baru dan datang dalam kotak super kokoh dengan styrofoam yang sangat padat di dalamnya. Seperti sesuatu dari sitkom, saya berdebat dengan istri saya terus-menerus tentang menjaga kotak itu. Bagi saya itu seperti memohon untuk diubah menjadi sesuatu sedangkan baginya itu adalah sampah yang jelek. Kemudian, tiba-tiba, Instructables menjalankan kontes kecepatan berdasarkan karton. Maka di sore hari argumen itu diselesaikan dan proyek ini lahir.

Kami menggunakan peluang akhir yang kami miliki di sekitar rumah untuk menghidupkan proyek. Idenya hanya untuk menggunakan apa yang sudah kami miliki untuk melakukan sesuatu yang keren - untungnya kami memiliki satu set tombol arcade dan raspberry pi yang kami beli berabad-abad lalu untuk membuat kabinet arcade. Untuk memotong kami menggunakan gergaji dan pisau saku tua saya yang terpercaya.

Perlengkapan

1. Kotak karton2. Styrofoam atau pengisi padat lainnya 3. Tombol arcade dari Ali Express atau Amazon 4. Raspberry Pi 3B+ 5. Beberapa komputer + layar lainnya. 6. Pisau atau sesuatu untuk melubangi karton 7. Selotip8. Cat semprot

Langkah 1: Konstruksi

Konstruksi
Konstruksi
Konstruksi
Konstruksi
Konstruksi
Konstruksi

Kami segera membuat sketsa seperti apa yang kami inginkan, lalu menggunakan pisau dan gergaji kayu untuk memotong karton dan styrofoam dengan ukuran yang tepat. Kami menandai karton dengan tata letak tombol/joystick yang baik dan memotong lubang dengan hati-hati dengan pisau. Ini adalah latihan yang bagus dalam matematika dasar untuk anak-anak. Setelah carboard dipotong, kami mengecatnya dan kemudian meletakkan semua kancing di tempatnya. Hal menarik utama yang kami lakukan adalah merekatkan tiga lapis karton untuk bagian atas pengontrol agar lebih kaku. Ini membuatnya agak sulit untuk dipotong tetapi bekerja dengan sempurna untuk membuat bagian atas hampir sekokoh kayu.

Raspberry Pi 3B+ memiliki empat port usb. Kami memiliki keluarga dengan empat dan 4 set tombol arcade! Ini adalah takdir.

Langkah 2: Pemrograman

Pemrograman
Pemrograman
Pemrograman
Pemrograman
Pemrograman
Pemrograman
Pemrograman
Pemrograman

Kode untuk proyek ini sederhana dan buggy. Semuanya dapat ditemukan di sini:

github.com/melvyniandrag/SuperTuxJunkKart 4 pengontrol terhubung melalui usb ke raspberry pi. Di Raspberry pi, ada skrip python kecil yang sedang berjalan. Saya menggunakan pustaka input Python untuk mendapatkan sinyal dari tombol dan joystick. Program kemudian mengubah sinyal menjadi kode ASCII pendek dan mengirimkannya melalui soket TCP melalui wifi ke PC yang menjalankan game (saya akan menyebutnya sebagai server game). Misalnya, ketika pemain 0 menggerakkan joystick ke kiri, karakter '0XL' dikirim melalui soket TCP ke server game. Untuk pengujian saya menjalankan SuperTuxKart di thinkpad saya. Aplikasi server kecil berjalan di thinkpad dan mendengarkan di soket TCP. Kode yang berasal dari raspberry pi melalui wifi diterjemahkan ke dalam penekanan tombol pada keyboard melalui perpustakaan pyautogui. Jadi, ketika pemain 0 pada pengontrol karton menggerakkan joystick ke kiri dan pengontrol mengeluarkan 'OXL', server yang menjalankan permainan mengira pemain menekan tombol '1' pada keyboard. Permainan harus dikonfigurasi untuk mengenali penekanan keyboard ini seperti yang dapat ditampilkan di layar opsi di sini. Permainan ini berjalan dengan baik dengan satu atau dua pemain, tetapi ketika 4 orang memainkan SuperTuxKart secara agresif, server mulai kehilangan beberapa data dari pengontrol. Saya tidak yakin apakah ini kesalahan:1. Di sisi klien (pengontrol)2. Di sisi server (thinkpad)3. Dibangun di fungsionalitas Linux. Mungkin laptop Ubuntu saya tidak dapat mengenali banyak penekanan tombol secara bersamaan. Jadi jika pemain 0, 1, dan 2 semua setir ke atas dan ke kiri, itu berarti 2 * 3 = 6 tombol ditekan sekaligus. Saya tidak yakin apakah komputer saya (atau komputer mana pun) dirancang untuk menangani itu. Biasanya tombol pintas adalah 3 tombol atau kurang, mis. CTRL + ALT + DEL. Di masa depan saya akan mencoba memulai 4 soket tcp, satu untuk setiap pengontrol, dan kemudian di sisi server membuat pad permainan virtual. Belum sempat melihat bagaimana melakukannya antara mengasuh anak, bekerja dan memotong kardus.

Langkah 3: Masa Depan

Ini adalah Bukti Konsep sederhana. Di masa depan, kode harus lebih baik. Saya ingin mengkodekan koneksi sebagai perangkat HID bluetooth, tetapi bluez5 di Linux sedikit membutuhkan waktu untuk bekerja - itu sebabnya saya menggunakan soket TCP + Python. Juga - mari kita hadapi itu - pengontrol terlihat seperti sih. Dengan lebih banyak waktu, saya akan menginvestasikan lebih banyak energi untuk memotong lebih hati-hati. Kemudian saya akan menambahkan lebih banyak penyangga - sisi kotak mulai sedikit melengkung. Untuk apa itu dan berapa biayanya, benda ini terlihat cukup bagus. Saya akan terus mengotak-atiknya sambil menonton film di malam hari.

Direkomendasikan: