Mundarija:
Video: Arduino jangovar kemasi o'yini: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Esimda, bolaligimda jangovar o'yinning qog'oz va qalam versiyasini o'ynaganman. Aslida, bu 1 -jahon urushi davridan beri mavjud. Menda 1960 -yillarning boshlarida "Sonar Sub Hunt" deb nomlangan "elektron" variant ham bor edi, u erda yorug'lik va tovushlar, yashirin minalar bor edi. Bugungi video o'yin standartlariga ko'ra, jangovar kema juda zerikarli, lekin men nevaralar bu haqda nima deb o'ylaganini bilish uchun shunday qilaman deb o'yladim. Axir, ba'zida retro ajoyib bo'lishi mumkin.
Agar siz jangovar kemani o'ynashni xohlamasangiz ham, bu loyihaning boshqa qismlari ham foydali bo'ladi. U 4-bitli 1602-sonli oddiy LCD-interfeysga ega, u o'ziga xos belgilar o'rnini belgilash tartibini o'z ichiga oladi. 4x4 kalitli matritsani dekodlash uchun interfeys ham mavjud. Bu ikkita interfeys alohida fayllar sifatida mavjud, shuning uchun ularni tashish oson. O'yinda turli xil ovoz effektlari va oddiy bitta tranzistorli ovoz kuchaytirgich sxemasi mavjud.
1 -qadam: Uskuna
Bu erda keltirilgan sxema bitta o'yinchi uchun mo'ljallangan, shuning uchun ikkita birlik qilish kerak. Qurilmalar UART TX va RX liniyalari va er simini o'z ichiga olgan 3 simli interfeys yordamida aloqa o'rnatadilar. Men standart 1/8 dyuymli stereo minigarniturani va ikkala uchida erkak vilkalari bo'lgan standart kabeldan foydalanishni tanladim. Bir qutidan RX boshqa qutining TX ga o'tadi va aksincha. Siz buni qutining ichidagi minigarnituraga ulangan simlarni almashtirish yoki elektron plataga almashtirish orqali qilishingiz mumkin.
Klassik o'yin matritsa sifatida tuzilgan, lekin men displey uchun 1602 LCD yordamida oddiy dasturni bajarishga qaror qildim. Birinchi qatorda o'yinchining kema joylari va raqibning zarbalari ko'rsatilgan. Ikkinchi satrda o'yinchining zarbalari va raqib kemalaridagi har qanday zarbalar ko'rsatilgan. Bu kemalar uchun 16 ta mumkin joyni beradi. Kemalar soni dasturiy ta'minotda o'rnatiladi va men o'zboshimchalik bilan 5 tani tanladim.
16 ta kema joylashuvi kalit talablariga juda mos keladi, chunki u 4x4 matritsaga ruxsat beradi. 4x4 matritsali matkaplar mavjud, lekin men bitta kalitda chiziqli displeyga mos keladigan kalitlarni ishlatishni tanladim. Men kalitlarni 4x4 matritsa qilib uladim, shunda faqat sakkizta Arduino piniga ehtiyoj bor. To'g'ri ulanishlar uchun kalitlarni ulash sxemasi va sxemasiga qarang.
LCD displey 4 bitli interfeys uchun simli. Qaysi o'yinchi otish kerakligini ko'rsatish uchun men D13 piniga tashqi LED qo'shdim. Dastlab, o'yinchilar birinchi zarbani kim olishini hal qilishadi, keyin dastur avtomatik ravishda o'yinning oldinga va orqasini boshqaradi.
Men tortishish, portlashlar, o'yin tayyor va g'olib/mag'lubiyat uchun oddiy ovoz effektlarini qo'shishni xohlardim. Men oddiy piezo -signalni ishlatishga harakat qildim, lekin uning o'rniga kichik karnay o'rnatildi. Karnay tomonidan talab qilinadigan oqim Arduino -ning ish qobiliyatidan oshib ketadi, shuning uchun oddiy tranzistorli kuchaytirgich qo'shildi. Ovoz hali ham unchalik yaxshi emas, lekin bu signaldan yaxshiroq. Mening karnayim 4 ohm, lekin agar sizda 8 ohm bo'lsa, sxemadagi qarshilikni 39 ohmdan 33 ohmga o'zgartiring. Agar siz piezo -buzzerdan foydalansangiz, uni to'g'ridan -to'g'ri Arduino pinidan haydashingiz kerak, zilzilaning boshqa tomoni erga ulangan.
Tashqi tiklash tugmasi ham mavjud va u to'g'ridan -to'g'ri Arduino -dagi er va "tiklash" pimi o'rtasida o'tkaziladi. Bu o'yinni qayta boshlash imkoniyatini beradi.
2 -qadam: dasturiy ta'minot
Dastur mening LCD interfeysim uchun qo'shilgan faylga ega va men 4x4 kalitli matritsani skanerlash uchun qo'shilgan faylni ham yaratdim. Boshlash o'yinchiga kemalari uchun joylarni tanlashni taklif qiladi va keyin "Tayyor" holatiga o'tadi. Ikkala o'yinchi ham tayyor bo'lganda, ulardan biri kalitni bosib o'yinni boshlaydi.
Tortishish joyi UART orqali boshqa o'yinchiga uzatiladi va tegishli natija zarba bergan o'yinchiga qaytariladi. Yuqorida aytib o'tganimizdek, birinchi tortishish amalga oshirilgach, dasturiy ta'minot keyingi tortishishni kim boshqarishini nazorat qiladi. Rasm uzatilishidan oldin u avvalgi tortishish joylari bo'yicha tekshiriladi. Agar bu joy allaqachon ishlatilgan bo'lsa, u holda kadr uzatilmaydi. "My_Shot" svetodiodi kimning burilishini aniqlaydi. Bundan tashqari, to'g'ri tanlov uchun o'q ovozi va kema urilganda portlash ovozi ham bor. Ovoz effektlari o'yinga mos keladigan o'zgartirishlar bilan Internetda topilgan misollardan olingan.
Raqibning kemalariga zarba berilgach, har bir LCD displeyda bitta xabar ko'rsatiladi - bittasi g'olib, ikkinchisi esa mag'lub. Xabarda, shuningdek, o'yinni qayta o'rnatish tugmachasini bosib qayta boshlash mumkinligi ko'rsatilgan. G'olib va yutqazganlar uchun alohida ovoz effektlari ham mavjud.
3 -qadam: Ekran tasvirlari
Mana, o'yinning ba'zi ekran tasvirlari. Mana bu post uchun. Boshqa ko'rsatmalarni va mening veb -saytimni tekshiring: www.boomerrules.wordpress.com
Tavsiya:
Arduino kosmik kemasi interfeysi: 3 qadam
Arduino kosmik kemasi interfeysi: Salom Instructable hamjamiyati, men bu safar Arduino Uno: kosmik kema sxemasi bilan bajariladigan eng oddiy loyihalardan birini tayyorladim. U shunday nomlangan, chunki bu ilmiy fantastika teledasturlari va filmlarida qo'llaniladigan dasturlash va sxemalar turi
Elektron kosmik kemasi: 8 qadam (rasmlar bilan)
Elektron kosmik kemasi: Men ikkita sevimli sohani bog'laydigan loyihani yaratdim: elektron va kosmik. Bu kosmik kema butunlay noldan qilingan
Uy qurilishi jangovar robotining 2 -versiyasi: 6 qadam
Uy qurilishi jangovar robotining 2 -versiyasi: Demak … Bu mening ikkinchi vaznli jangovar robotim! Sizni " Sidewinder " bilan tanishtirmoqchiman. Ushbu loyiha uchun men 3D bosma qismlarni (men ishlab chiqqan) va 100 dollarga sotib olgan elektron qismlarni ishlatdim. Men SAPRdan foydalandim, shuning uchun
Arduino avtonom filtrlash kemasi: 6 qadam
Arduino avtonom filtrlash kemasi: Men sizga ko'rsatma beraman, men ko'rfaz sohilidagi Qizil suv o'tlari muammosini qanday hal qilganimni va qanday hal qilganimni ko'rsataman. Ushbu loyiha uchun men to'liq avtonom va quyosh energiyasi bilan ishlaydigan kemani loyihalashtirmoqchi edim
Yamato kosmik jangovar kemasi 2199 Trinket mikrokontrolderlari bilan: 8 qadam (rasmlar bilan)
Yamato kosmik jangovar kemasi 2199 Trinket mikrokontrolderlari bilan: Bandai modelining jozibali dizayni bilan bir qatorda, kosmik jang kemasi Yamatoning animatsiyasi va filmining remeyki tufayli. Bu kosmik jangovar kema modelini qayta qurish menga qiziqish uyg'otdi. Bandai uning miqyosi haqida gapirmaydi, ehtimol ~ 1: 2500