Isi kandungan:

Pengawal Permainan Keluarga 4 Pemain Tanpa Wayar: 3 Langkah
Pengawal Permainan Keluarga 4 Pemain Tanpa Wayar: 3 Langkah

Video: Pengawal Permainan Keluarga 4 Pemain Tanpa Wayar: 3 Langkah

Video: Pengawal Permainan Keluarga 4 Pemain Tanpa Wayar: 3 Langkah
Video: КАКИМ БУДЕТ PORTAL 3 2024, Julai
Anonim
Pengawal Permainan Keluarga 4 Pemain Tanpa Wayar
Pengawal Permainan Keluarga 4 Pemain Tanpa Wayar
Pengawal Permainan Keluarga 4 Pemain Tanpa Wayar
Pengawal Permainan Keluarga 4 Pemain Tanpa Wayar
Pengawal Permainan Keluarga 4 Pemain Tanpa Wayar
Pengawal Permainan Keluarga 4 Pemain Tanpa Wayar

Ini adalah alat kawalan gaya arked tanpa wayar yang boleh dimainkan oleh 4 orang sekaligus. Ia tanpa wayar sehingga anda tidak perlu mengikat komputer anda ke alat kawalan yang digunakan oleh kanak-kanak berumur 5 tahun. Mereka jatuh sepanjang masa dan saya tidak mahu mereka memusnahkan semua mainan saya ketika mereka tidak dapat dielakkan menggunakan wayar. Kami baru-baru ini membeli monitor komputer baru dan ia datang dalam kotak yang sangat kukuh dengan styrofoam yang sangat padat di dalamnya. Seperti sesuatu dari sitkom, saya terus berdebat dengan isteri saya mengenai menjaga kotak itu. Bagi saya sepertinya memohon untuk berubah menjadi sesuatu sedangkan baginya itu sampah yang jelek. Kemudian, secara tidak langsung, Instructables mengadakan pertandingan laju berdasarkan kadbod. Oleh itu, pada suatu petang, hujah diselesaikan dan projek ini dilahirkan.

Kami menggunakan peluang akhir yang kami ada di sekitar rumah untuk menghidupkan projek ini. Ideanya hanya untuk menggunakan apa yang telah kita duduki untuk melakukan sesuatu yang menarik - mujurlah kita mempunyai satu set butang arcade dan satu raspberry pi yang kita beli sejak dahulu untuk membuat kabinet arked. Untuk memotong kami menggunakan gergaji dan pisau saku lama yang boleh dipercayai.

Bekalan

1. Kotak kadbod2. Styrofoam atau pengisi padat lain 3. Butang arked dari Ali Express atau Amazon 4. Raspberry Pi 3B + 5. Beberapa komputer + skrin lain. 6. Pisau atau sesuatu untuk memotong lubang pada kadbod 7. Pita pelekat8. Cat semburan

Langkah 1: Pembinaannya

Pembinaannya
Pembinaannya
Pembinaannya
Pembinaannya
Pembinaannya
Pembinaannya

Kami dengan cepat membuat lakaran tentang apa yang kami mahukan seperti itu, kemudian menggunakan pisau dan gergaji kayu untuk memotong kadbod dan styrofoam dengan ukuran yang tepat. Kami menandakan kadbod dengan susun atur butang / kayu bedik yang baik dan memotong lubang dengan berhati-hati dengan pisau. Ini adalah latihan hebat dalam matematik asas untuk anak-anak. Setelah carboard dipotong, kami melukisnya dan kemudian meletakkan semua butang di tempatnya. Perkara menarik utama yang kami lakukan ialah merekatkan tiga lapisan kadbod untuk bahagian atas alat kawalan untuk memberikannya lebih kaku. Ini menjadikannya agak sukar untuk ditebang tetapi berfungsi dengan sempurna untuk membuat bahagian atasnya hampir sekuat kayu.

Raspberry Pi 3B + mempunyai empat port usb. Kami mempunyai keluarga empat dan 4 set butang arked! Ini adalah takdir.

Langkah 2: Pengaturcaraan

Pengaturcaraan
Pengaturcaraan
Pengaturcaraan
Pengaturcaraan
Pengaturcaraan
Pengaturcaraan
Pengaturcaraan
Pengaturcaraan

Kod untuk projek ini mudah dan senang. Semuanya boleh didapati di sini:

github.com/melvyniandrag/SuperTuxJunkKart 4 pengawal disambungkan melalui usb ke raspberry pi. Pada Raspberry pi, terdapat skrip python kecil yang sedang berjalan. Saya menggunakan pustaka input Python untuk mendapatkan isyarat dari butang dan kayu bedik. Program ini kemudian mengubah isyarat menjadi kod ASCII pendek dan mengirimkannya melalui soket TCP melalui wifi ke PC yang menjalankan permainan (saya akan menyebutnya sebagai pelayan permainan). Sebagai contoh, apabila pemain 0 menggerakkan kayu bedik ke kiri, watak '0XL' dihantar melalui soket TCP ke pelayan permainan. Untuk ujian, saya menjalankan SuperTuxKart di Thinkpad saya. Aplikasi pelayan kecil berjalan di ThinkPad dan mendengar pada soket TCP. Kod yang berasal dari raspberry pi over wifi diterjemahkan ke dalam menekan butang pada papan kekunci melalui perpustakaan pyautogui. Oleh itu, apabila pemain 0 pada pengawal kadbod menggerakkan kayu bedik ke kiri dan pengawal mengeluarkan 'OXL', pelayan yang menjalankan permainan menganggap pemain menekan butang '1' pada papan kekunci. Permainan mesti dikonfigurasikan untuk mengenali penekanan papan kekunci ini seperti yang ditunjukkan di skrin pilihan di sini. Permainan ini berjalan dengan baik dengan satu atau dua pemain, tetapi apabila 4 orang bermain SuperTuxKart secara agresif pelayan mula kehilangan beberapa data dari pengawal. Saya tidak pasti adakah ini ralat: 1. Di sisi klien (pengawal) 2. Di bahagian pelayan (thinkpad) Dibangunkan dalam fungsi Linux. Mungkin komputer riba Ubuntu saya tidak dapat mengenali sebilangan besar penekanan kekunci serentak. Oleh itu, jika pemain 0, 1, dan 2 mengemudi ke atas dan ke kiri, itu bermaksud butang 2 * 3 = 6 ditekan sekaligus. Saya tidak pasti sama ada komputer saya (atau mana-mana komputer) dirancang untuk mengendalikannya. Biasanya butang panas adalah butang 3 atau kurang cth. CTRL + ALT + DEL. Pada masa akan datang saya akan cuba memulakan soket 4 tcp, satu untuk setiap pengawal, dan kemudian di bahagian pelayan membuat pad permainan maya. Belum sempat melihat bagaimana untuk melakukannya antara keibubapaan, bekerja dan memotong kotak kadbod.

Langkah 3: Masa Depan

Ini adalah Bukti Konsep yang ringkas. Pada masa akan datang, kodnya perlu lebih baik. Saya ingin membuat kod sambungan sebagai peranti bluetooth HID, tetapi bluez5 di Linux agak banyak masa untuk berfungsi - itulah sebabnya saya menggunakan soket TCP + Python. Juga - mari kita hadapi - pengawal kelihatan suka. Dengan lebih banyak masa saya akan melaburkan sedikit tenaga untuk memotong dengan lebih teliti. Kemudian saya akan meletakkan lebih banyak sokongan - bahagian kotak mula melengkung sedikit. Untuk apa itu dan harganya, perkara ini kelihatan cukup bagus. Saya akan terus memperhatikannya semasa kita menonton filem pada waktu petang.

Disyorkan: