Isi kandungan:

On the Go Controller: 8 Langkah
On the Go Controller: 8 Langkah

Video: On the Go Controller: 8 Langkah

Video: On the Go Controller: 8 Langkah
Video: Oliver Tree - Life Goes On [Music Video] 2024, Julai
Anonim
Pengawal Dalam Perjalanan
Pengawal Dalam Perjalanan
Pengawal Dalam Perjalanan
Pengawal Dalam Perjalanan
Pengawal Dalam Perjalanan
Pengawal Dalam Perjalanan

Adakah anda suka bermain permainan di telefon pintar anda? Adakah anda bosan dengan permainan dengan kawalan skrin sentuh yang tidak stabil? Benci lupa mengenakan pengawal Bluetooth anda? Perlu digunakan untuk kabel yang anda beli tetapi tidak pernah menggunakannya?

Mengapa tidak membuat alat kawalan anda sendiri semasa dalam perjalanan?

Saya yakin saya sudah terlambat ke permainan (pun dimaksudkan) tetapi baru-baru ini saya dapati telefon pintar lama saya mampu bermain permainan retro melalui peniruan. Ketika meningkat dewasa, saya adalah peminat sistem Game Boy dan mempunyai kenangan indah bermain berjam-jam dan menatap mata saya ketika menunggang kereta yang lama berusaha mencari titik penyelamat sebelum bateri saya mati atau matahari terlalu jauh di luar cakrawala lihat skrin saya. Sekarang saya boleh bermain di telefon saya dan memberikan nostalgia tetapi dengan skrin cahaya belakang yang bagus. Teknologi terima kasih!

Penafian: Peniruan permainan adalah subjek yang sensitif dan menutup garis pembajakan dalam beberapa kes. Mohon didik diri dan bermain dengan penuh tanggungjawab!

Latar belakang:

Saya memutuskan untuk meneruskan projek ini setelah membuat papan kekunci pintas. Semasa belajar perpustakaan papan kekunci arduino dan menggunakan jalan pintas, saya mengikat beberapa butang ujian ke WASD. Segera mula bekerja dengan permainan PC saya dan roda berpusing. Pada masa yang sama saya kehabisan ruang di telefon saya untuk buku audio dan melihat bagaimana menggunakan pemacu kilat USB dengan telefon saya kerana model saya tidak membenarkan kad microSD. Ketika itulah saya belajar mengenai OTG. OTG menggunakan cas dari bateri telefon anda untuk menghidupkan peranti yang bersambung dengannya. Ini termasuk papan kekunci, tetikus, dan pemacu denyar untuk menamakan beberapa. Telefon boleh menghidupkan peranti 5v dan meneka apa yang diperlukan oleh mikro arduino untuk beroperasi? Itu adalah pertandingan yang dibuat di syurga.

Bekalan

Arduino Mikro

Papan Prototaip

Butang 12 x 6mm (saya menggunakan suis sesaat sentuhan papan roti klasik)

Pateri dan Pateri

Pencetak 3D

Kabel dalam perjalanan (OTG); Saya buat sendiri

Kabel pengecasan USB mikro

Langkah 1: Reka bentuk

Reka bentuk
Reka bentuk
Reka bentuk
Reka bentuk
Reka bentuk
Reka bentuk

Saya mahu alat kawalan saya mudah alih dan menawarkan semua butang yang saya perlukan untuk bermain permainan sehingga era Super Nintendo. Ini bermaksud bahawa saya memerlukan 12 butang. Empat untuk pad arah (d-pad) dan lapan untuk pad A, B, X, Y, Mula, Pilih, Pemicu Kiri, dan Pencetus Kanan. Saya juga mempunyai syarat tambahan bahawa saya mahu ia simetri sehingga saya dapat memainkannya dengan satu tangan menggunakan kedua-dua tangan. Keperluan tambahan itu mungkin terdengar pelik tetapi untuk menyebutkan beberapa konteks, baru-baru ini saya kerap memegang bayi yang sedang tidur dan hanya menggunakan satu tangan semasa masa permainan saya yang terhad.

Dengan syarat-syarat yang ditetapkan saya menetapkan untuk merancang pengawal saya dalam CAD. Saya secara peribadi menggunakan OnShape tetapi saya tahu banyak orang berjaya dengan Fusion360 juga. Saya ingin memberi suara cepat kepada orang lain di laman web ini yang merancang ciptaan mereka sendiri. Ia adalah kerja keras! Reka bentuk yang saya buat sangat sederhana tetapi masih memerlukan masa berjam-jam untuk saya berpuas hati. Walaupun saya menaip ini, saya melihat banyak penambahbaikan yang ingin saya lakukan.

(Saya merancang untuk tetapi fail.stl di Thingiverse apabila masa mengizinkan. Fail akan ada di sana jadi saya boleh mengemas kini tanpa perlu memuat naik fail di sini secara berterusan.)

Langkah 2: Cetak Ciptaan Anda

Cetak Ciptaan Anda!
Cetak Ciptaan Anda!

Saya mempunyai pencetak Ender 3 yang baru saya miliki selama beberapa bulan. Ini adalah pencetak yang bagus untuk memulakan jika anda ingin menceburkan diri dalam percetakan 3D. Saya tidak menyedari betapa sukarnya sehingga saya mengukur bahagian saya untuk projek ini. Sehingga projek ini saya hanya menggunakannya untuk mencetak minis untuk permainan meja. Minis keluar dengan hebat dan saya tidak terlalu mementingkan dimensi. Ia memerlukan beberapa kiub penentukuran dan gulungan filamen baru sebelum saya berpuas hati dengan hasilnya.

Langkah 3: Menyiapkan Papan Prototaip Anda

Menyiapkan Papan Prototaip Anda
Menyiapkan Papan Prototaip Anda
Menyiapkan Papan Prototaip Anda
Menyiapkan Papan Prototaip Anda

Sebelum menyisipkan butang ke papan prototaip, saya menguji semua butang pada papan roti dan menguji kod arduino saya pada masa yang sama. Saya akan membincangkan kodnya di kemudian hari.

Sekarang adalah masa terbaik untuk memotong ukuran papan prototaip anda. Gunakan perumahan pengawal bercetak anda sebagai panduan dan pasang butang kering untuk memastikan semuanya beratur. Saya hanya mengambil beberapa kepingan dawai dan memotong lebihan papan kemudian mengemaskan kotak tepi dengan sebilangan kertas pasir 150 grit.

Pendawaian untuk pengawal sangat mudah kerana kami menggunakan perintang tarik dalaman mikro arduino. Semua butang menuju ke input dan ground. Butang yang saya gunakan adalah suis seketika taktik 6mm generik.

Memasukkan butang ke arduino adalah teka-teki kecil yang menyeronokkan untuk diselesaikan. Sebilangan butang berada di bawah arduino dan saya terpaksa mengeluarkan wayar dari bawahnya sebelum memasangkan arduino ke papan prototaip. Sekiranya anda melihat dari dekat butang papan, saya terlepas kiri dan kanan untuk pad arah.

Untuk reka bentuk khusus saya, saya menyolder butang pad arah atas dan bawah (saya terlepas butang pad arah kiri dan kanan) ke papan prototaip bersama dengan beberapa wayar ekstra panjang kemudian membalik papan dan menyolder arduino. Saya tidak mempunyai gambar rajah kerana saya kebanyakannya menyolder butang satu demi satu secara rawak (saya mungkin memuat naiknya jika ada minat yang cukup). Setelah arduino diamankan, saya membalikkan papan ke bahagian butang dan menyisipkan selebihnya dari butang dan wayarnya.

Langkah 4: Pilihan: Ratakan Perumahan Pengawal Anda

Sebelum pemasangan akhir adalah masa yang tepat untuk pasir, mengisi jurang, dan cat perumahan pengawal anda. Saya memilih untuk melangkau langkah ini untuk prototaip saya kerana saya ingin segera menggunakan sesuatu. Apabila saya pasti dapat memperbaiki reka bentuk saya ke sesuatu yang lebih digilap, saya akan memberikannya pekerjaan yang sewajarnya.

Langkah 5: Perhimpunan Akhir

Pemasangan akhir
Pemasangan akhir

Sekarang adalah masa untuk memasukkan semua butang dan papan prototaip anda yang lengkap ke dalam perumahan. Saya menggunakan skru logam lembaran # 4-24 x 1/2 untuk reka bentuk saya. Mereka menyelesaikan pekerjaan tetapi tidak sesuai dengan yang saya mahukan.

Langkah 6: Program Arduino Anda

Anda mungkin mahu melakukan langkah ini lebih awal ketika anda masih merancang papan atau setelah anda memasangkan semuanya ke papan prototaip. Saya suka mempunyai ini di bahagiannya sendiri.

Kodnya sangat mudah berbanding dengan kebanyakan program arduino yang pernah saya lihat. Kita hanya perlu memberikan nilai papan kekunci pada setiap butang dan arduino akan bergerak untuk memeriksa butang apa yang ditekan dan menghantar maklumat tersebut ke telefon kita.

Bagi mereka yang berminat, saya menggunakan aplikasi retroArch untuk bermain permainan retro saya. Kekunci yang saya gunakan ditetapkan pada susun atur papan kekunci lalai yang digunakan untuk retroArch.

#include #include "Keyboard.h" # tentukan NUM_BUTTONS 12 const uint8_t BUTTON_PINS [NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // a = 'x' // b = 'z' // x = 's' // y = 'a' // bahu kiri = 'q' // bahu kanan = 'w' // pilih = 'rshift '// start =' enter '// up =' key: up '// down =' key: down '// left =' key: left '// right =' key: right 'const char BUTTON_KEYS [NUM_BUTTONS] = {KEY_RETURN, KEY_DOWN_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_RIGHT_SHIFT, 'z', 'x', 's', 'a', 'q', 'w'}; Butang Lantun * = Lantunan baru [NUM_BUTTONS]; batal persediaan () {untuk (int i = 0; i <NUM_BUTTONS; i ++) {butang .attach (BUTTON_PINS , INPUT_PULLUP); butang . selang waktu (25); } // memulakan kawalan ke atas papan kekunci: Keyboard.begin (); } gelung void () {// periksa apakah nilai berubah untuk (int i = 0; i <NUM_BUTTONS; i ++) {butang .update (); jika (butang . fell ()) {Keyboard.press (BUTTON_KEYS ); } jika (butang .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Langkah 7: Mainkan Permainan Anda

Main Permainan Anda!
Main Permainan Anda!

Sebagai alternatif, pengawal ini boleh digunakan dengan PC tanpa kabel OTG untuk menghantar penekanan kekunci atau makro. Saya juga mempunyai rakan yang mengatakan bahawa alat kawalan seperti ini juga berguna untuk melukis tablet walaupun saya tidak pernah mengacaukannya sebelum ini.

Saya harap anda mendapat pengajaran yang berguna ini. Di bawah ini adalah bahagian pelajaran yang dipelajari bagi mereka yang ingin tahu mengenai apa yang saya pelajari semasa proses dan apa yang saya ingin lakukan secara berbeza.

Langkah 8: Pelajaran yang Dipelajari

CAD:

Saya tidak pernah bermain-main dengan perisian CAD pada masa lalu dan terpaksa belajar di mana sahaja dengan reka bentuk ini. Pada asalnya saya menggunakan reka bentuk yang lebih tegak yang sesuai dengan tangan anda seperti Wii Nunchuk. Pengetahuan saya yang terhad untuk merancang dengan bentuk organik adalah kejatuhan saya. Mungkin saya mesti menggunakan Intructables pada kelas reka bentuk CADnya.

Butang:

Butang yang saya gunakan lebih kuat daripada yang saya mahukan (terutamanya ketika anda berusaha untuk mengelakkan seseorang bangun). Saya ingin mencari beberapa butang yang lebih senyap. Menggabungkan mata air di antara butang dan penutup butang akan membuat jauh lebih baik untuk membuat binaan terasa lebih halus. Butang mempunyai kelonggaran yang terlalu banyak untuk selera saya.

Pematerian:

Saya seorang pemula dalam pematerian dan tidak mempunyai tangan yang kuat. Memateri semua wayar kecil di semua tempat mengambil masa lebih lama daripada yang saya jangkakan. Sekiranya saya terpaksa melakukannya sekali lagi, saya pasti akan memetakan di mana wayar saya akan bergerak sebelum mencengkam besi. Itu akan mengurangkan kesilapan yang saya dapati setelah melekatkan arduino ke papan prototaip dan akan menjimatkan masa saya.

Disyorkan: