Daftar Isi:
- Langkah 1: Menentukan Konfigurasi Tombol Optimal
- Langkah 2: Perakitan 4-Tombol Saya
- Langkah 3: Mainkan Game
- Langkah 4: Kontes Head to Head
- Langkah 5: Opsional 2 Pengontrol Pemain
- Langkah 6: Perbarui
Video: Game 4 Tombol Menggunakan Satu Input Analog: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Instruksi ini berfokus pada penggunaan satu jalur input analog untuk beberapa tombol yang dapat dideteksi secara independen satu sama lain.
Dan untuk menonjolkan penggunaan tombol-tombol ini termasuk perangkat lunak untuk memainkan empat game 4-Tombol yang berbeda. Semua game (total 8) di sini menggunakan tampilan tangga Led (lihat proyek sebelumnya: instruksi: Single-Line-LED-Display-Games).
Anda dapat menggunakan rakitan 4 tombol Anda sendiri dengan output tampilan lainnya, cukup gunakan fungsi 'scanButtons()' dari salah satu sketsa yang disertakan. Dan gunakan sketsa itu misalnya penggunaannya.
Gimnya adalah gim keterampilan: Whack-a-Mole, gim memori: Simon Says, gim logika Sea Hunt dan Flip'd gim dua pemain yang mirip dengan Reveri. Nanti, dalam instruksi ini, saya juga akan memperkenalkan empat permainan dua orang dari kompetisi head to head.
Langkah 1: Menentukan Konfigurasi Tombol Optimal
Cukup menggunakan beberapa resistor secara seri dengan tombol yang disadap di antara masing-masing akan berfungsi jika Anda tidak perlu khawatir tentang satu tombol yang menekan tombol lainnya. Dalam konfigurasi seperti itu, setiap tombol, ketika ditekan, memblokir semua dan semua di bawahnya. Bahkan ketika Anda hanya membutuhkan dua tombol dan Anda hanya peduli satu per satu, seperti dalam implementasi ping-pong; itu akan menjadi masalah, jika seorang pemain gagal (hanya karena terlalu lambat, atau jahat) untuk melepaskan jarinya dari tombolnya sebelum yang lain harus menekannya.
Beberapa tombol sering dihubungkan ke satu saluran analog masing-masing dengan nilai resistor yang berbeda yang masuk ke input. Anda dapat dengan mudah membedakan tombol atau pasangan mana yang ditekan ketika hanya ada 2 atau 3 tombol. Tetapi tidak dapat diandalkan dengan lebih banyak tombol atau lebih dari dua yang ditekan, karena kombinasi kasus terburuk dari pembacaan menjadi terlalu berdekatan secara ambigu.
Di sini dengan apa yang saya sebut konfigurasi Double-Y dari empat tombol & resistor, Anda dapat dengan andal membedakan tombol tunggal, ganda, bahkan tiga kali lipat atau keempat tombol yang ditekan. Driver perangkat lunak untuk melakukannya dibahas di bagian berikutnya dan daftar kode.
Dengan keinginan untuk memiliki empat tombol yang terpasang pada satu input analog di mana setiap penekanan tombol dapat dideteksi terlepas dari status tombol lainnya, saya membuat model beberapa konfigurasi dalam spreadsheet. Saya menemukan bahwa konfigurasi double-Y (terdiri dari 2 set tiga resistor) memberikan kemungkinan terbaik. Lihat diagram skema pengkabelan di bawah ini. Saya mengevaluasinya berdasarkan pemisahan paling banyak dari total resistensi antara dua kombinasi tombol yang ditekan. Saya selanjutnya memodelkan nilai analog yang dihitung. Lihat file spreadsheet di bawah ini.
Untuk menentukan nilai terbaik untuk digunakan dalam konfigurasi di atas, saya menulis sebuah simulasi, yang secara mendalam mencoba semua kemungkinan permutasi dari nilai resistor potensial, menemukan himpunan yang menghasilkan perbedaan terkecil maksimum antara kemungkinan input pembacaan. Saya telah memberikan kode yang saya gunakan. Ini adalah alat brute force yang saya kumpulkan, mendapatkan apa yang saya inginkan dan mengesampingkannya, jadi itu sama sekali tidak dioptimalkan. Ini benar-benar apa adanya, hanya untuk referensi historis (Solve_4R.html di bawah).
Berikut adalah outputnya untuk ditinjau:
R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 mntR delta: 3.3658818125
R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 18 mntR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 mntR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 15 R5: 10 R6: 33 mntR delta: 5.0576510475 R1: 10 R2: 12 R3: 10 R4: 15 R5: 12 R6: 10 mntR delta: 7.104826870 R1: 10 R2: 12 R3: 10 R4: 18 R5: 10 R6: 18 mntR delta: 8.1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: 22 mntR delta: 8.6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 delta min: 10.1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 delta mnt: 10.5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 mnt delta: 10.7814361579 R1: 10 R2: 12 R3: 12 R4: 33 R5: 15 R6: 36 minR delta: 10.8827552754 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 22 minR delta: 11.4499029683 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 27 minR delta: 12.0961591599 R1: 10 R2: 12 R3: 15 R4: 68 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 75 R5: 10 R6: 27 menitR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: 27 menitR delta: 1 2.7992171382 R1: 10 R2: 12 R3: 15 R4: 91 R5: 10 R6: 27 mntR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 82 R5: 10 R6: 15 mntR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 91 R5: 10 R6: 15 menitR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 100 R5: 10 R6: 15 menitR delta: 12.7992171382 R1: 10 R2: 12 R3: 68 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 75 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 15 R5: 10 R6: 27 mnt delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: 15 mnt Delta delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: 27 mnt delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 27 R5: 10 R6: 15 mntR delta: 12.7992171382 R1: 10 R2: 12 R3: 100 R4: 27 R5: 10 R6: 15 mntR delta: 12.7992171382 R1: 10 R2: 15 R3: 10 R4: 18 R5: 18 R6: 12 menitR delta: 13.2909379968 R1: 10 R2: 15 R3: 10 R4: 22 R5: 12 R6: 10 menitR delta: 14.245362837 R1: 10 R2: 15 R3: 10 R4: 39 R5: 18 R6: 27 menitR delta: 14.5126340326 R1: 10 R2: 15 R3: 10 R4: 56 R5: 12 R6: 15 menitR delta: 15.220571553 R1: 10 R2: 15 R3: 12 R4: 27 R5: 12 R6: 12 menitR delta: 18.8228671943 R1: 10 R2: 15 R3: 12 R4: 39 R5: 18 R6: 27 mnt delta: 19.236186493 R1: 10 R2: 15 R3: 15 R4: 47 R5: 22 R6: 33 mntR delta: 19.5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 mntR delta: 19.7887024012 R1: 10 R2: 15 R3: 27 R4: 220 R5: 12 R6: 10 menitR delta: 21.2533513149 R1: 10 R2: 15 R3: 220 R4: 27 R5: 12 R6: 10 menitR delta: 21.2533513149 R1: 10 R2: 18 R3: 22 R4: 68 R5: 33 R6: 39 menitR delta: 21.58566448 R1: 10 R2: 18 R3: 27 R4: 75 R5: 33 R6: 36 menitR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 36 mnt delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 39 mnt delta: 22.158443806 R1: 10 R2: 18 R3: 33 R4: 75 R5: 27 R6: 18 mnt delta: 24.2578084248 R1: 10 R2: 18 R3: 75 R4: 33 R5: 27 R6: 18 mntR delta: 24.2578084248 R1: 10 R2: 36 R3: 36 R4: 68 R5: 12 R6: 18 mntR delta: 24.380952380 R1: 10 R2: 36 R3: 36 R4: 75 R5: 12 R6: 18 menitR delta: 24.380952380 R1: 10 R2: 36 R3: 39 R4: 75 R5: 12 R6: 15 mntR delta: 24.380952380 R1: 10 R2: 36 R3: 68 R4: 36 R5: 12 R6: 18 mntR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 36 R5: 12 R6: 18 menitR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: 15 menitR delta: 24.380952380 R1: 10 R2: 39 R3: 15 R4: 39 R5: 10 R6: 27 menitR delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 47 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 27 R4: 56 R5: 10 R6: 15 menitR delta: 24.4674161824 R1: 10 R2: 39 R3: 39 R4: 15 R5: 10 R6: 27 menitR delta: 24.4674161824 R1: 10 R2: 39 R3: 47 R4: 22 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 27 R5: 10 R6: 15 mnt delta: 24.4674161824 R1: 12 R2: 39 R3: 33 R4: 75 R5: 15 R6: 39 mnt Delta delta: 24.5467795136 R1: 12 R2: 39 R3: 33 R4: 82 R5: 18 R6: 47 mnt delta R: 24.789976640 R1: 12 R2: 39 R3: 47 R4: 100 R5: 18 R6: 33 mntR delta: 24.789976640 R1: 12 R2: 39 R3: 56 R4: 100 R5: 15 R6: 12 menitR delta: 25.3564579616 R1: 12 R2: 39 R3: 100 R4: 56 R5: 15 R6: 12 menitR delta: 25.3564579616 R1: 12 R2: 47 R3: 18 R4: 47 R5: 10 R6: 27 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 27 R4: 56 R5: 10 R6: 18 mnt Delta delta: 27.4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: 27 mnt Delta delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 22 R5: 10 R6: 22 mnt delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 27 R5: 10 R6: 18 mntR delta: 27.4996466431 R1: 15 R2: 56 R3: 22 R4: 56 R5: 10 R6: 27 mntR delta: 29.1605253709 R1: 15 R2: 56 R3: 22 R4: 56 R5: 12 R6: 33 minR delta: 29.811354701 R1: 15 R2: 56 R3: 33 R4: 68 R5: 12 R6: 22 minR delta: 29.811354701 R1: 15 R2: 56 R3: 56 R4: 22 R5: 12 R6: 33 minR delta: 29.811354701 R1: 15 R2: 56 R3: 68 R4: 33 R5: 12 R6: 22 minR delta: 29.811354701 R1: 18 R2: 68 R3: 27 R4: 68 R5: 12 R6: 33 mnt delta: 30.7487559507 R1: 18 R2: 68 R3: 33 R4: 68 R5: 12 R6: 27 mnt delta: 30.8965517241 R1: 18 R2: 68 R3: 68 R4: 33 R5: 12 R6: 27 minR delta: 30.8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: 36 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 47 R4: 91 R5: 12 R6: 10 menitR delta: 30.9007058823 R1: 18 R2: 75 R3: 68 R4: 27 R5: 12 R6: 36 menitR delta: 30.9007058823 R1: 18 R2: 75 R3: 91 R4: 47 R5: 12 R6: 10 menitR delta: 30.9007058823 R1: 22 R2: 82 R3: 36 R4: 82 R5: 15 R6: 39 menitR delta: 33.2525545171 R1: 22 R2: 82 R3: 82 R4: 36 R5: 15 R6: 39 mnt delta: 33.2525545171 R1: 36 R2: 82 R3: 22 R4: 82 R5: 39 R6: 15 mnt. R delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 mnt delta: 33.2525545171 R1: 82 R2: 22 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 82 R2: 22 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 82 R2: 36 R3: 22 R4: 82 R5: 39 R6: 15 menitR delta: 33.2525545171 R1: 82 R2: 36 R3: 82 R4: 22 R5: 39 R6: 15 menitR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 menitR delta: 33.2525545171
Langkah 2: Perakitan 4-Tombol Saya
Untuk empat tombol saya, saya menggunakan tombol-tombol ini dan PCB dan resistor berlubang seperti yang ditunjukkan pada diagram di atas. Bagaimana Anda secara fisik menerapkan empat tombol Anda terbuka lebar dan terserah Anda dan kebutuhan proyek Anda. Asalkan elektriknya seperti pada diagram di atas. Pastikan pemasangan konstruksi Anda sedemikian rupa sehingga Anda tidak akan membuat kontak dengan kabel ke tombol karena itu akan membuang pembacaan yang mengakibatkan perilaku tombol yang salah.
Saya memiliki tombol kecil tambahan di papan saya yang saya gunakan seperti tombol 'Fungsi'. Hal ini secara seri dengan resistor 2 megaohm, yang tidak secara signifikan membuang pembacaan input saya yang lain; padahal saya hanya bisa mendeteksinya saat ditekan saja. Anda dapat mengabaikannya atau memeriksa kode untuk lebih memahami bagaimana saya menggunakannya.
Sketsa uji 'Test_12Leds_6Btns' dapat digunakan untuk menguji deteksi penekanan tombol oleh MCU Anda dan rakitan tombol yang sebenarnya. Outputnya diatur untuk dilihat baik dengan Tangga LED atau monitor serial. Itu dapat dengan mudah dimodifikasi menjadi output melalui jenis tampilan apa pun yang Anda miliki.
Anda mungkin perlu menyesuaikan rangkaian pembacaan referensi kode yang dibandingkan dengan inputnya, karena perbedaan potensial pada resistor pull-up internal MCU Anda atau toleransi resistor yang Anda gunakan. Anda bisa, jika Anda lebih suka, menggunakan resistor presisi, semoga tidak perlu melakukan penyesuaian kalibrasi. Omong-omong, saya tidak menggunakan pull-up eksternal karena akan mengganggu penggunaan lain yang saya rencanakan untuk salah satu proyek saya.
Salah satu tindakan perangkat lunak utama yang diambil, untuk memastikan penentuan tombol mana yang ditekan tidak terpengaruh oleh level tegangan suplai (&/atau varians MCU), adalah dengan menskalakan input analog berdasarkan pembacaan maksimumnya yang pada gilirannya dipengaruhi oleh tegangan suplai.
'Driver' perangkat lunak yang melayani tombol-tombol ini adalah 'scanButtons()' rutin. Itu menunggu nilai input analog untuk menyelesaikan kemudian memetakan pembacaan ke dalam serangkaian nilai yang telah ditentukan; dan menerjemahkannya ke dalam status yang sesuai untuk kumpulan tombol. Rutinitas ini, dan variabel publik yang dibagikannya dengan perangkat lunak aplikasi, adalah semua yang diperlukan untuk membuat penggunaan serupa dari set ini dalam tombol independen.
Catatan! Versi 'scanButtons()' saat ini tidak mencoba untuk secara unik mengidentifikasi semua kemungkinan kombinasi tiga tombol seperti yang, bagi saya, tidak diperlukan secara realistis dan selanjutnya akan memperumit kode dan akurasi kalibrasi yang diperlukan.
Langkah 3: Mainkan Game
Baik sketsa, 'LadderGames4' atau 'Head2head' dapat dimuat ke dan dijalankan oleh sebagian besar MCU Arduino, tetapi LadderGames4 harus memiliki 'SimonSays' atau salah satu dari dua game lainnya yang dikomentari agar sesuai dengan ruang program 8K Bytes di sebuah Attiny-85. Audio juga merupakan masalah dengan ATtiny-85, lihat proyek sebelumnya yang disebutkan di atas. Kode diatur dengan kompilasi bersyarat, dan diketahui bekerja dengan Nano, Uno, dan ATtiny-85.
Dengan masing-masing sketsa ini setelah inisialisasi Anda disajikan dengan Menu, dengan satu warna pada satu waktu menerangi semua Merah…Kuning…Hijau…Biru Led, sesuai dengan empat pilihan permainan yang mungkin. Anda bisa menekan Btn1 saat opsi keinginan menyala atau kapan saja Anda menekan Btn2-4 untuk game 2-4. Cara berlebihan untuk memilih adalah agar kompatibel dengan implementasi & game dua dan empat tombol. Jika ada beberapa versi permainan, Anda harus memilih berkedip merah untuk ver-1, berkedip kuning untuk ver-2, dan seterusnya.
Game 4 Tombol
Sebuah permainan memori, permainan koordinasi mata-tangan, dan dua permainan strategi.
Simon Berkata Ini adalah implementasi ulang permainan dari bentuk yang saya miliki, dalam proyek-proyek sebelumnya ini:
www.instructables.com/id/Fast-Easy-Simon/
www.instructables.com/id/Improved-Simon-Says-Code/
Ini bermain seperti kebanyakan game 'Simon Says' lainnya.
Namun di sini, saya menambahkan versi dua orang (ketika Anda memilih opsi 2, berkedip kuning), di mana setiap pemain, pada gilirannya, menambahkan catatan cahaya baru ke seri. Yang pertama tidak mengulangi dengan benar semua yang datang sebelum kalah dalam permainan.
Pukul tahi lalat
Selama 30 detik tahi lalat yang berbeda muncul (merah, kuning, grn, blu) 1, 2 atau 3 sekaligus. Anda harus 'memukul' mereka dengan menekan tombol yang sesuai Btn1-4. Hanya penekanan satu tombol yang akan diterima, tidak ada penekanan beberapa tombol secara bersamaan. Berapa lama satu set tahi lalat tetap berdiri semakin pendek saat permainan berlangsung. Jika Anda memukul semua tahi lalat yang muncul, maka set baru akan muncul; sehingga lebih cepat Anda adalah lebih banyak tahi lalat Anda akan memiliki kesempatan untuk memukul.
Setelah permainan selesai, tampilan akan mencerminkan skor, menyalakan satu led untuk setiap 10 mol yang dipukul. Saat permainan mencetak 10 poin untuk setiap pukulan mol, 5 led yang menyala akan mewakili skor poin Whac-a-Mole standar 500+. Untuk memainkan ronde lain, Anda harus memilih kembali gim tersebut.
Saya menggunakan jari pada setiap tombol untuk tindakan cepat dan skor tinggi. Untuk tantangan yang lebih tepat, seseorang hanya boleh menggunakan satu jari di satu tangan, menanggapi penggunaan satu palu.
Skor khas saya menggunakan satu jari adalah di 500-an, menggunakan 4 jari (satu per tombol) itu adalah 600+. Skor tertinggi saya adalah 700+. Menggunakan beberapa jari sangat rumit karena jika ada tumpang tindih dalam menekan satu dan yang lain, yang kedua tidak akan diterima oleh perangkat lunak, mengharuskan Anda untuk melepaskan semua tombol sebelum yang lain akan diterima. Jika ada yang mendapatkan semua 12 led, untuk skor 1200+, beri tahu kami.
Perburuan Laut
Ada kapal selam tak terlihat bergerak melalui kedalaman. Lokasi awal dan arahnya acak. Itu bergerak di sepanjang jalurnya setelah setiap belokan yang Anda ambil. Anda harus memprediksi keberadaannya melalui laporan sonar dan menenggelamkannya dengan muatan kedalaman. Gelombang suara sonar keluar (di kedua arah) dari lokasi awalnya sebagai cahaya redup dan menjadi terang (bersama dengan ping) pada jarak kapal selam. Namun perhatikan bahwa kapal selam bisa menjadi salah satu dari Anda dan bergerak ke arah yang tidak diketahui. Muatan kedalaman meledak jauh di bawah tempat peluncurannya. Anda mendengar ledakan teredam jika tidak ada, atau ada, jika tidak, Anda mendengar ledakan besar kapal selam dan kilatan terang.
Untuk memindahkan kursor mengarah ke tempat Anda ingin menjatuhkan pelampung sonar atau pengisian kedalaman dilakukan dengan Btn2 & Btn3 untuk kiri & kanan. Tombol-1 digunakan untuk meluncurkannya.
Dalam versi 1, setiap upaya adalah kombinasi depth-charge dan laporan sonar; dan Anda dapat menggunakan jumlah yang tidak terbatas.
Di versi 2, Head to head, bergiliran, untuk melihat siapa yang berhasil menenggelamkan kapal selam. Pemain 1 menggunakan Btn1 dan pemain kedua menggunakan Btn4 untuk meluncurkan muatan kedalaman mereka.
Dalam versi 3, laporan depth-charge dan sonar diluncurkan secara independen oleh Btn1 dan Btn4. Anda hanya memiliki tiga biaya kedalaman yang tersedia untuk Anda. Anda bisa mendapatkan semua laporan sonar yang Anda inginkan. Anda kalah jika Anda gagal mendapatkan dia dengan tuduhan itu.
Di versi 4 kapal selam bisa bergerak dengan kecepatan 1-3 spasi per voli, dan sebaliknya bermain seperti versi 3, tetapi Anda mendapatkan 6 muatan kedalaman.
Sejarah: Saya pertama kali membuat game 'Sea Hunt' di tahun 1970-an. Kemudian perangkat input & output adalah teletype. Namun, kemudian laut adalah grid 2 dimensi, berbeda dengan 1 dimensi seperti di sini.
CATATAN: Saya mengomentari batasan muatan kedalaman dalam kode, dengan gagasan bahwa itu sudah cukup sulit untuk dimainkan bagi kebanyakan orang.
Flip'd
Permainan dua pemain ini sedikit mirip dengan Reveri, di mana Anda mencoba mengubah semua sel menjadi warna Anda, tetapi ini dilakukan dengan cara yang berbeda.
Dalam permainan dua pemain ini, tujuan satu pemain adalah mematikan semua lampu, dan yang lainnya menyalakan semuanya. Satu pemain menggunakan Btn1 untuk mematikan sekelompok lampu pemain lain atau melepaskan salah satu dari "Lampu Mati" (menyalakannya). Pemain lain menggunakan Btn4 untuk mengubah sekelompok "Lampu Mati" menjadi Hidup atau salah satu punggungnya Mati.
Papan dimulai dengan satu set led secara acak. Saat giliran pemain pertama ada quick dimming atau lampu led di 'kursor', point of interest, hingga berpotensi dibelokkan. Selama giliran pemain #2 ada kedipan panjang led sebagai indikator kursor. Jika pemain yang salah menekan tombolnya, maka akan terdengar bunyi bip yang sangat singkat. Kursor dipindahkan ke kiri oleh Btn2 dan kanan oleh Btn3. Pemain yang kalah memulai permainan berikutnya.
Strategi tentang apa yang harus Dibalik bisa menjadi signifikan.
Langkah 4: Kontes Head to Head
Permainan Dua Tombol / Dua Pemain
Di set pertama game 4 tombol, hanya 'Whack-a-Mole' yang benar-benar mengandalkan kemandirian penuh dari pemrosesan tombol. Saya juga telah menerapkan empat game head to head, yang semuanya bergantung pada deteksi tombol independen. Game-game tersebut adalah: Quick Draw, Tug a War, Chicken, dan Hot Hands (Slapsies).
Penarikan Cepat (Uji reaksi)
Kontes dimulai dengan 'Siap'/merah, 'Set'/kuning, dan 'Draw!'/hijau; menjadi cukup acak ketika memberi Anda lampu hijau. Yang pertama menekan tombol mereka menang. Memukul terlalu cepat dan Anda tidak terhormat dengan buzz.
Pemain 1 menggunakan Btn1 (di sebelah kiri) dan pemain 2 menggunakan Btn4 (di sebelah kanan).
Tarik tambang
Dimulai dengan 'Siap', 'Set' … 'PERGI!'. Tampak sebuah benda di tengah, sebuah 'busur' di atas tali. Kemudian para pemain menekan tombol mereka secepat dan sesering mungkin. Busur akan bergerak ke arah pemain dengan pukulan terbanyak. Begitu busur mencapai salah satu ujungnya, itulah pemenangnya.
Ayam
Kontes ini dimulai dengan cara yang sama. Setelah suara & kilatan hijau 'Go!' para pemain menekan dan menahan tombol mereka, kilatan cahaya (kereta mereka) mulai bergerak dari mereka ke arah yang lain. Pemenangnya adalah orang yang melepaskan kancingnya (melompat keluar dari keretanya) terakhir, tepat sebelum kedua blip itu saling bertabrakan. Jika seseorang melepaskan terlambat atau tidak sama sekali, mereka jatuh dan kalah. Jika keduanya melompat (lepaskan) terlambat tidak ada yang menang.
Pada awalnya sepasang led berlawanan menyapu layar, saat ini jika Anda menekan Fnc-Btn2 kecepatan permainan akan meningkat. Ini bisa diulang beberapa kali.
Tangan Panas
Versi digital dari permainan tamparan tangan (alias Red-Hands atau Slapsies). Untuk memulai, kedua pemain menekan tombol mereka bersama-sama, satu sisi melepaskan kemudian mencoba menekan tombolnya dua kali sebelum sisi lain dapat melepaskan tombolnya. Selanjutnya pihak lain mencoba melakukan hal yang sama. Pemain yang gilirannya ditunjukkan pada awal ronde dengan menyalakan led di sisinya. Saya menemukan bahwa satu tombol saja push-slap terlalu cepat dan mudah, Jadi saya membuat dua diperlukan, yang membutuhkan lebih banyak tindakan dan waktu, seperti harus membalik satu tangan di atas yang lain serta kemudian menampar ke bawah. TBD: Dalam versi kedua, ini gratis untuk semua, kapan saja salah satu pemain dapat mencoba untuk mendapatkan yang terbaik dari yang lain.
Melihat ! Saya menyarankan Anda untuk mencetak aturan operasi game di atas dan membacanya kembali sebelum Anda memainkan game yang belum lama ini Anda mainkan. Jika tidak, Anda dapat membuat diri Anda frustrasi; berpikir bahwa permainan tidak beroperasi dengan benar padahal kenyataannya, tetapi Anda dan permainan memiliki cara dan harapan yang berbeda. Saya sendiri telah menjadi mangsa ini lebih dari beberapa kali.
Dengan delapan game di sini dan empat di proyek saya sebelumnya Single-Line-LED-Display-Games, yang membuat perangkat lunak tersedia untuk memainkan 12 game dengan kombinasi perangkat keras empat tombol + tangga led ini.
Saya memiliki setidaknya empat kegiatan rekreasi lagi untuk perangkat keras (tampilan tombol) ini sebelum akhir tahun.
Langkah 5: Opsional 2 Pengontrol Pemain
Untuk game yang hanya membutuhkan dua tombol, tentu saja saya dapat menggunakan PCB 4 tombol dengan game tersebut; namun dalam memainkan game ini seseorang cenderung mendapatkan fisik yang cukup. Jadi, saya menggunakan rakitan tombol tipe plunger terpisah, terbuat dari sepotong tabung plastik yang ditutupi dengan pegangan pegangan sepeda dan tombol besar.
Bagian tombol tipe plunger:
- Pipa saluran tetes 1/2 ", stand-off sprinkler, atau PVC (Toko perangkat keras)
- Pegangan pegangan sepeda (Walmart)
- Tombol tekan besar (eBay)
- 2 resistor
Untuk menjaga kompatibilitas, satu tombol memiliki resistor 75 ohm yang dirangkai secara seri dan yang lainnya memiliki seri 36-39 ohm; sedemikian rupa sehingga perangkat lunak akan melihatnya sebagai Btn1 dan Btn4 masing-masing.
Anda bisa menggunakan selang dari sapu atau gagang penyapu yang dibuang.
Adaptor bahkan dapat dibuat untuk menyambungkan joystick konsol game lama; memiliki tombol api yang dihubungkan sebagai Btn1 dan Btn4 untuk yang lain, sementara berbagi Btn1-4 pergi ke tombol navigasi joy stick.
April 2018: Sekarang lebih suka menggunakan 5/8 Compression Coupler sebagai bodi untuk tombol gaya pendorong eksternal. Tombol besar (dengan sedikit pita di atas benangnya ditambahkan) sangat pas di dalamnya dan pas di tangan dengan sangat baik. anak-anak suka menggunakan sepasang ini, saya menambahkan beberapa set pin header untuk dengan mudah menghubungkan satu tombol genggam eksternal di seluruh kontak Bnt1 dan satu untuk Btn4.
Langkah 6: Perbarui
Saya membuat kasing konsol cetak 3D untuk menampung tampilan dan tombol tangga LED In-Line.
Saya telah menggabungkan 12 game yang saya buat sejauh ini, untuk 12 tampilan LED ini, menjadi satu sketsa 'Menu_12Games'. Perangkat lunak ini memerlukan perangkat keras proyek ini yang diimplementasikan dengan flash MCU 32KB (misalnya Nano atau Uno) dan 5 tombol, 4 utama + sebuah FncKey.
Menu pilihan sekarang menjadi dua tingkat; pertama anda pilih 1 dari 4 grup game kemudian game 1-4 dalam grup itu, … seperti yang tercantum di bawah ini. Sambil menunggu tampilan pilih memindai R-Y-G-B secara berkala, Anda menekan Btn1-4 sebagai pilihan Anda kapan saja, tidak ada bedanya apa yang ditampilkan saat Anda menekan pilihan Anda. Selama pemilihan 'grup', semua Led setidaknya sebagian menyala selama pemindaian RYGB. Untuk keluar dari game apa pun atau mencadangkan dari pilihan 'game' ke 'grup', tekan FncKey-Btn1.
Saya belum membuat kode 4. Saya sudah menulis 3 (termasuk 'LeMans'). Saya belum memikirkan seperti apa pertandingan terakhirnya. Pesan saya dengan ide apa pun.
Pembaruan 25 Jan 17: Bagi Anda yang menikmati akses ke printer 3D, Anda mungkin tertarik dengan kasing konsol game yang saya buat untuk perangkat saya: https://www.instructables.com/id/3D-Printed-Case- untuk-Inline-LED-Display-Console-dan/
Pembaruan 17 Feb 17: Saya menambahkan 4 game terakhir, yang sekarang tersedia sebagai "Menu_16Games.ino" di bawah "Langkah 7: Perbarui, lebih banyak Game" dari Instructable: Single-Line-LED-Display-Games (Menu_12Games.ino adalah sekarang mati)
Permainan grup: 1– Merah 2- Kuning 3 – Hijau 4 – Biru
1 merah PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans Semprot PIG BiFunc 4 Blu SimonMengatakan Whack_Mole Sea_Hunt Flip_d
Direkomendasikan:
Cara Membaca Beberapa Nilai Analog Menggunakan Satu Pin Analog: 6 Langkah (dengan Gambar)
Cara Membaca Beberapa Nilai Analog Menggunakan Satu Pin Analog: Dalam tutorial ini, saya akan menunjukkan cara membaca beberapa nilai analog hanya dengan menggunakan satu pin input analog
Sirkuit On Off Latch Dengan UC. Satu Tombol Tekan. Satu Pin. Komponen Diskrit.: 5 Langkah
Sirkuit On Off Latch Dengan UC. Satu Tombol Tekan. Satu Pin. Komponen Diskrit.: Halo semuanya, sedang mencari sirkuit on/off di internet. Semua yang saya temukan bukanlah yang saya cari. Saya berbicara pada diri sendiri, pasti ada cara untuk itu. Itulah yang saya butuhkan.-Hanya satu tombol tekan untuk menghidupkan dan mematikan.-Hanya harus menggunakan
Input Sentuh Kapasitif ESP32 Menggunakan "Sikat Lubang Logam" untuk Tombol: 5 Langkah (dengan Gambar)
Input Sentuh Kapasitif ESP32 Menggunakan "Scolokan Lubang Logam" untuk Tombol: Saat saya menyelesaikan keputusan desain untuk proyek berbasis ESP32 WiFi Kit 32 mendatang yang membutuhkan input tiga tombol, satu masalah yang terlihat adalah bahwa WiFi Kit 32 tidak memiliki satu tombol tekan mekanis, namun hanya tiga tombol mekanis, f
Kotak Streaming Radio Satu Tombol: 7 Langkah (dengan Gambar)
Kotak Streaming Radio Satu Tombol: Saya membuat kotak untuk bilah teman saya yang memiliki Raspberry Pi di dalamnya dan dengan menekan satu tombol itu mengalirkan audio ke situs web menggunakan Darkice dan Icecast, sekaligus menyalakan tanda 'Siaran'. Saya pikir ini adalah sesuatu yang orang sudah
Gunakan 1 Input Analog untuk 6 Tombol untuk Arduino: 6 Langkah
Gunakan 1 Input Analog untuk 6 Tombol untuk Arduino: Saya sering bertanya-tanya bagaimana saya bisa mendapatkan lebih banyak Input Digital untuk Arduino saya. Baru-baru ini terpikir oleh saya bahwa saya harus dapat menggunakan salah satu Input Analog untuk memasukkan beberapa input digital. Saya melakukan pencarian cepat dan menemukan di mana orang