Mundarija:

3D4x O'yin: 3D 4x4x4 Tic-Tac-Toe: 5 qadam (rasmlar bilan)
3D4x O'yin: 3D 4x4x4 Tic-Tac-Toe: 5 qadam (rasmlar bilan)

Video: 3D4x O'yin: 3D 4x4x4 Tic-Tac-Toe: 5 qadam (rasmlar bilan)

Video: 3D4x O'yin: 3D 4x4x4 Tic-Tac-Toe: 5 qadam (rasmlar bilan)
Video: 3D4x Game: 3D 4x4x4 Tic-Tac-Toe - PromoVid 2024, Iyun
Anonim
Image
Image
3D4x o'yini: 3D 4x4x4 Tic-Tac-Toe
3D4x o'yini: 3D 4x4x4 Tic-Tac-Toe
3D4x o'yini: 3D 4x4x4 Tic-Tac-Toe
3D4x o'yini: 3D 4x4x4 Tic-Tac-Toe
3D4x o'yini: 3D 4x4x4 Tic-Tac-Toe
3D4x o'yini: 3D 4x4x4 Tic-Tac-Toe

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

Komponentlar va asboblarni yig'ing
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

Image
Image
Tarmoq yaratish
Tarmoq yaratish
Tarmoq yaratish
Tarmoq yaratish

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

Joystikni yasang
Joystikni yasang
Joystikni yasang
Joystikni yasang

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

Kodni yozing
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

Do'stlaringiz bilan o'ynang!
Do'stlaringiz bilan o'ynang!
Do'stlaringiz bilan o'ynang!
Do'stlaringiz bilan o'ynang!
Do'stlaringiz bilan o'ynang!
Do'stlaringiz bilan o'ynang!

Bu erda tushuntirishga hojat yo'q … Xursand bo'ling!

Tavsiya: