Mundarija:
- 1 -qadam: Komponentlar va asboblarni yig'ing
- 2 -qadam: panjara yarating
- 3 -qadam: Joystickni yarating
- 4 -qadam: Kodni yozing
- 5 -qadam: Do'stlaringiz bilan o'ynang
Video: 3D4x O'yin: 3D 4x4x4 Tic-Tac-Toe: 5 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Bir xil, eski, zerikarli, 2 o'lchovli tik-to-barmog'ini o'ynashdan charchadingizmi? Xo'sh, bizda siz uchun echim bor! 3 o'lchovli tijorat barmog'i !!! 2 ta o'yinchi uchun, bu 4x4x4 kubda, ketma -ket 4 ta LEDni (har qanday yo'nalishda) oling va siz g'olib bo'lasiz! Siz buni uddalaysiz. Siz o'ynang.
1 -qadam: Komponentlar va asboblarni yig'ing
3D Tic-Tac-Toe-ning eng muhim komponenti-bu LED. Biz PL9823 ni tanladik, uning ichida allaqachon o'rnatilgan kontroller mavjud. U to'rtta pinli (Ma'lumotlarni kiritish, Voltaj-Ta'minot, Topraklama, Ma'lumotlarni chiqarish) va LEDning rangini osongina aniqlash va boshqarishga imkon beradi. Tarmoqli tuzilmani turli yo'llar bilan qurish mumkin, lekin biz uchun bu eng arzon, mustahkam va estetik variant edi.
Komponentlar ro'yxati:
- Arduino (biz Uno -dan foydalanganmiz)
- PL9823 LEDlari (kamida 64)
- Yog'ochdan yasalgan tayoqchalar (uzunligi 24 sm)
- Kabellar (biz eski chekilgan kabelning ichki qismini ishlatganmiz)
- Tugmalar (lahzali holat)
- 7 rezistor (220 Ohm)
- Breadboards (1 tugma va o'yin uchun, 1 panel Arduino -ga oson ulanish uchun)
- Ko'pikli polistirolli taxta (panellarni tayyorlash uchun ~ 2x30x30 sm)
- Ko'pikli polistirolli blok (~ 7x25x25 sm butun panjara uchun asos sifatida)
Asboblar ro'yxati:
- Lehimlash temir
- Lehimlaydigan kalay
- Yelim
- Hukmdor bilan tekislash
- Pense
- Tel -chiziqlar
- Tel kesgichlar
- Qaychi
- Marker
- Qalam
- Cımbızlar
2 -qadam: panjara yarating
Biz 4x4 LEDli 4 ta panelni alohida -alohida qilamiz.
- 00: Panelni joylashtirish uchun strafor oling. Shaklni chizish. Bunday holda, biz LEDlar orasidagi 6 sm oralig'ida, uchlarida 2 sm.
- 01: LED pinlarini straforga joylashtiring. Muhim! Bir xil yo'nalishdagi barcha LEDlarni kiritganingizga ishonch hosil qiling. Bizning holatda, biz chiqish pinini chap tomonga tanladik.
- 02: Endi svetodiodlarning har ikki tomoniga yog'och tayoq tayoqchalarini qator qilib qo'ying, shunda hamma nuqtalar bir xil tomonga qaragan. Tayoqni LED amrullari yon tomonlariga yopishtiring va quriting.
- 03: LEDlarning har ikki tomonidagi yog'och tayoqchali tayoqchalar ustunlari uchun ham xuddi shunday qiling, shunda hamma nuqtalar bir xil tomonga qaraydi. Yelimlang va quriting.
- 04: atrofdagi LEDlarni bo'shatish orqali muloyimlik bilan olib tashlang. Panelni ko'taring va aylantiring. Orqa tomonni yopishtiring, shunda u xavfsizroq bo'ladi.
- 05: Hamma narsa qurigandan so'ng, payvandlashni osonlashtiring va har qanday elektr chiziqlari kesishmasligiga yordam bering. Biz cımbızdan foydalanamiz va pimni taglikka yaqin egamiz.
- 06: Endi simlarni tayyorlang. Biz eski chekilgan kabeldan foydalandik, uning ichida 4 ta o'ralgan sim bor. Kichik simlarni kesmaslik uchun ehtiyotkorlik bilan izolyatsiyani olib tashlang. Keyin oching, turli chiziqlarga mos keladigan ranglarni tanlang va LEDlar orasidagi to'g'ri uzunlikni kesib oling. Keyin izolyatsiyani ozgina chetidan olib tashlang. Biz yer = yashil, Vdc = ko'k, ma'lumotlarni kiritish/chiqarish = oq rangni tanladik.
- 07: Lehim! Ulanish juda ko'p (64x4), shuning uchun to'g'ri lehimlashda ehtiyot bo'ling.
- 08: Panelni olib tashlang va ko'pikli taglikka qo'ying!
3 -qadam: Joystickni yarating
Biz panjara bo'ylab harakatlanish va tanlov qilish uchun joystickni ishlatdik. Biz yo'nalishni boshqarish moslamasini (6 tugma, har bir yo'nalish uchun 1 ta) va tanlash tugmachasini (o'yinchi harakatiga kiradi) belgilaydigan sxemani (diagramaga qarang) hosil qilish uchun o'tish moslamalari, rezistorlar va tugmalarni joylashtirdik. 5V va yer Arduino portlariga ulangan. Analog va raqamli kirish pinlari uchun biz mos ravishda A5 va 2 Arduino portlarini tanladik.
Tanlash tugmachasida piyodalarga qarshi rezistorli asosiy sxema mavjud. Yo'nalish buyrug'i kuchlanish bo'luvchi sxemasi sifatida ishlaydigan qarshilik zinapoyasiga asoslangan: analog kirishdagi kuchlanish bosilgan tugmachaga bog'liq va Arduino tomonidan bitta buyruq yo'nalishi sifatida talqin qilinadi.
4 -qadam: Kodni yozing
Biz foydalanishimiz uchun o'z kodimizni yukladik:) Birinchidan, Arduino -ga elektr aloqasini ulang. Biz biroz osonroq bo'lishi uchun Arduino yoniga mini -taxta qo'ydik. Biz Arduino "GND" va "5V" ni 2 qatorli non paneliga uladik, so'ngra har bir paneldan tegishli er va Vdc uladik. Ma'lumotlarni kiritish va ma'lumotlarni chiqarish uchun biz har bir panel uchun 4 xil Arduino pinini, 13, 10, 7 va 4 ni tanladik. PL9823 LED -lari LEDning ketma -ket sonli tartibiga qarab alohida hal qilinishi mumkin. Masalan, agar siz 1 -chi LEDni ma'lum bir rangga yoqmoqchi bo'lsangiz, LEDni [0] manziliga yo'naltiring. 16 -chi LED uchun manzilli LED [15]. Endi siz chiroyli chiroqlar bilan kod yozishga va o'ynashga tayyormiz! Quyida 3D tic-tac-toe o'yinining kodiga umumiy tushuntirish berilgan.
3D4x o'yin kodi
Biz fastled.h kutubxonasidan foydalanamiz, bu bizga mikro boshqariladigan LEDlarni boshqarishga imkon beradi.
Kub deyarli "TTTMap" 3D tamsayı massivida yodlanadi, bu erda har bir element tegishli nurga ko'ra 5 holatdan bittasida bo'lishi mumkin: 0 = o'yinchi yo'q, 1 = o'yinchi 1, 2 = o'yinchi 2, 3 = g'alaba qozongan kombinatsiyadagi 1 -o'yinchi va 3 = g'alaba qozongan kombinatsiyadagi 2 -o'yinchi. TTTMap -dagi virtual kub elementlarini haqiqiy LEDlarga solishtirish uchun LEDMap0, LEDMap1, LEDMap2, LEDMap3 butun sonli massivlari ishlatiladi.
"O'rnatish" funktsiyasi panelga ulangan Arduino portlarini ishga tushiradi, barcha LEDlarni "qora" ga qo'yadi va TTTMap massivining elementlarini 0 ga o'rnatadi.
"Loop" funktsiyasi "ReadButtonInput ()", "SendLED ()" funktsiyalarini bajaradi va bitta o'yinchi g'alaba qozongan taqdirda "VictoryAnimation ()" funktsiyasini bajaradi. Birinchi funktsiya yo'nalish buyrug'ining analog kirishini va tanlash tugmasining raqamli kirishini o'qiydi. "ButtonPushed" va "SelectPushed" boolean o'zgaruvchilari tugma ushlab turilganda, aylanish tezligida takrorlanishining oldini olish uchun ishlatiladi. "SendLED ()" funktsiyasi TTTMapdagi ma'lumotlarga muvofiq ketma -ket boshqaruv signalini yuborish orqali LEDlarning holatini yangilaydi. Tanlash tugmasi har bosilganda "ReadButtonInput ()" tomonidan chaqiriladigan "CheckVictory ()" asosiy funktsiyasi. Bu funktsiya bo'shliqdagi tanlangan nuqta atrofdagi pinlar bilan g'olib kombinatsiyani hosil qilishini tekshiradi. G'alaba qozongan o'yinchining so'zlariga ko'ra, kombinatsiya g'olib bo'lgan taqdirda, TTTMapdagi ballar 3 yoki 4 raqami bilan imzolanadi va "VictoryAnimation ()" qiziqarli!
Qayta o'ynash uchun Arduino -dagi reset tugmasini bosing:)
5 -qadam: Do'stlaringiz bilan o'ynang
Bu erda tushuntirishga hojat yo'q … Xursand bo'ling!
Tavsiya:
OLED displey va Arduino bilan o'yin: 12 qadam (rasmlar bilan)
OLED -displey va Arduino bilan qiziqarli: Ishonchim komilki, siz OLED -displey texnologiyasi haqida eshitgansiz. Bu nisbatan yangi va eski LCD texnologiyasidan yaxshiroq sifatni taklif qiladi. Ushbu qo'llanmada biz eng keng tarqalgan bitta kompaniyada ma'lumotlarni ko'rsatish uchun zarur bo'lgan qadamlarni ko'rib chiqmoqchimiz
Arduino asosidagi DIY o'yin boshqaruvchisi - Arduino PS2 o'yin boshqaruvchisi - DIY Arduino Gamepad bilan Tekken o'ynash: 7 qadam
Arduino asosidagi DIY o'yin boshqaruvchisi | Arduino PS2 o'yin boshqaruvchisi | DIY Arduino Gamepad bilan Tekken o'ynash: Salom bolalar, o'yin o'ynash har doim qiziqarli, lekin o'zingizning shaxsiy o'yiningiz bilan o'ynash yanada qiziqarli, shuning uchun biz ushbu qo'llanmada arduino pro micro yordamida o'yin boshqaruvchisi qilamiz
"Rangli o'yin" (Refleksli o'yin): 4 qadam
"Rangli o'yin" (Refleksli o'yin): Kirish: Maktab loyihasi uchun men nima qilishni bilmay qoldim, lekin o'ylab ko'rganimdan so'ng, men refleksli o'yin qilishga qaror qildim. Oxir oqibat, biz o'yin maktabimiz. Biz interaktiv va o'ziga xos narsalarni yaratishimiz kerak edi, shuning uchun o'yin juda zo'r bo'lardi! Men hamma narsadan xursandman
O'yin bosimiga sezgir prokladkalar (raqamli o'yin maydonchalari uchun - va boshqalar): 11 qadam (rasmlar bilan)
O'yin bosimiga sezgir prokladkalar (raqamli o'yin maydonchalari uchun - va boshqalar): Bu sizga raqamli o'yinchoqlar yoki o'yinlar yaratish uchun ishlatilishi mumkin bo'lgan bosim sezgir yostiq yasashni ko'rsatadigan ko'rsatma. U katta kuchga sezgir rezistor sifatida ishlatilishi mumkin va o'ynoqi bo'lsa ham, undan jiddiy loyihalarda foydalanish mumkin edi
Raspberry PI, RetroPie va uy qurilishi qutisi bilan retro-o'yin mashinasi: 17 qadam (rasmlar bilan)
Raspberry PI, RetroPie va Homemade Case bilan Retro-o'yin mashinasi: Bir muncha vaqt oldin men Raspberry Pi uchun Linux tarqatilishini topdim, u RetroPie. Men zudlik bilan aniqladimki, bu ajoyib g'oya, uni amalga oshirish juda yaxshi. Keraksiz funktsiyalarsiz bir maqsadli retro-o'yin tizimi. Ko'p o'tmay, men qaror qildim