Mundarija:

2 ta o'yinchi 4 (Puissance 4): 7 qadam (rasmlar bilan)
2 ta o'yinchi 4 (Puissance 4): 7 qadam (rasmlar bilan)

Video: 2 ta o'yinchi 4 (Puissance 4): 7 qadam (rasmlar bilan)

Video: 2 ta o'yinchi 4 (Puissance 4): 7 qadam (rasmlar bilan)
Video: Ustasi Faranglar 2 kino o'zbek tilida 2024, Iyul
Anonim

Muallif: ClemNafFollow Batafsil:

Maxsus chizilgan karta
Maxsus chizilgan karta
Maxsus chizilgan karta
Maxsus chizilgan karta

Haqida: Men mekatronika muhandisiman va men buyumlar yasashni yaxshi ko'raman! Men Arduino bilan ishlayapman, o'yin yoki IoT qilaman. Men yangi narsalarni kashf qilishni va qo'limdan kelganicha harakat qilishni yaxshi ko'raman. ClemNaf haqida ko'proq ma'lumot »

Hammaga salom !

Men sizga ko'rsatma beraman, men qanday qilib ikkita o'yinchi Connect 4 ni arduino nano bilan yaratganimni ko'rsataman. RGB Led o'yinchining piyonini ko'rsatadi va o'yinchi uni qaerga joylashtirishni tugmalar yordamida tanlaydi.

Bu ko'rsatmaning hiylasi - bu ko'p miqdordagi kirish va chiqishni nazorat qilish: 49 RGB Led va 3 tugma. Sizga Connect4 -ni ishga tushirishdan oldin barcha qadamlarni o'qib chiqishingizni maslahat beraman. Bu juda murakkab qismlar va agar siz to'g'ri protokol o'rnatmagan bo'lsangiz, siz blokirovka qilinadi.

Kechirasiz, men qurayotganimda ko'p suratga tushmaganman, bu mening birinchi ko'rsatmam, shuning uchun men ba'zi muhim qadamlarni taqiqlayman. Mehribon bo'ling va meni ogohlantiring!

Agar ba'zi xatolarga yo'l qo'ygan bo'lsam, izoh qoldiring. Agar kerak bo'lsa, tuzataman.

1 -qadam: Rejalashtirish

Birinchi qadam - rejalashtirish.

Siz Arduino o'yinini qilmoqchisiz, lekin oldin biron bir komponentni tanlashingiz kerak. Bu qimmat emas, Connect 4 Leds va arduino nano -dan iborat. Shunday qilib, izchil quti yoki elektron sxemani tanlashda erkin bo'ling.

Agar siz judayam mag'lub bo'lsangiz, temirga chidamliroq bo'lasiz!

Bilingki, siz 49 ta RGB Led -ni ishlatasiz, uni boshqarish va ulashingiz kerak bo'ladi. Shunday qilib, sizga bo'sh joy va moslashuvchanlik kerak bo'ladi.

Ba'zi hollarda men o'yin uchun kerakli o'lchamdagi karton qutiga ega bo'ldim. Men uni ishlatganman, lekin siz yog'och qutini tanlashingiz mumkin.

Ijodiy bo'ling!

2 -qadam: Sizga nima kerak

Sizga nima kerak bo'ladi
Sizga nima kerak bo'ladi
  1. Materiallar

    • 49x RGB Led
    • 2x 74HC595
    • 7x NPN tranzistorli pn2222
    • 3x tugmalari
    • 1x quvvat tugmasi
    • 7x 100Ω qarshilik
    • 7x 1 kΩ qarshilik
    • 3x 10 kΩ qarshilik
    • 2x taxtalar
    • quti
    • 1x 9V batareya
    • sim
  2. Asboblar

    • Lehimlash temir
    • Voltmetr
    • Tel kesuvchi
    • Qalay

Hamma narsani tayyorlashga ishonch hosil qiling, sizga kerak bo'ladi!

3 -qadam: Arduino Nano Fit - Shift Ro'yxatdan o'tish

Arduino Nano Fit - Shift Ro'yxatdan o'tish
Arduino Nano Fit - Shift Ro'yxatdan o'tish
Arduino Nano Fit - Shift Ro'yxatdan o'tish
Arduino Nano Fit - Shift Ro'yxatdan o'tish

Klassik Connect4 o'yin paneli 7 ustun va 6 qatordan iborat. Bizda o'ynashni xohlagan joyni tanlash uchun qo'shimcha chiziq bor. Aslida, biz 7x7 o'lchamdagi panjara qurishimiz kerak.

Xo'sh, endi haqiqiy ishlar boshlanadi. 49 RGB Led -ni faqat Arduino Nano bilan qanday boshqarish mumkin? Bizga 49 ta chiqish kerakmi? Ko'proq ?

Bizda 2 ta rang, 49 ta Led bor: 49*2 = 98 ta pin, agar hamma erlar bir -biriga ulangan bo'lsa, Ledlarni boshqarish uchun !! Yaxshi eslatma: Arduino Nano -da 18 ta chiqish bor!

Buni hal qilishning bir usuli - taxtani navbatga bo'lish. Vertikal ustunga joylashtirilgan barcha LEDlar bitta rangli umumiy anodga ega (+), gorizontal qatlamdagi barcha LEDlar umumiy katodga ega (-).

Agar men yuqori chap burchakdagi (A1) LEDni yoqmoqchi bo'lsam, men faqat A chizig'iga GND (-), 1 satrdagi rangga VCC (+) etkazib beraman.

Atrofda ishlashning yo'li - bir vaqtning o'zida faqat bitta chiziqni yoritish, lekin buni shunday tez bajarish kerakki, ko'z har qanday vaqtda faqat bitta chiziq yoqilganini tan olmaydi!

Kerakli chiqish soni 49*3 = 147 dan 7*2 + 7 = 28 chiqishgacha kamayadi. Arduino Nano -da faqat 12 ta raqamli chiqish va 6 ta analog chiqish mavjud (ular raqamli chiqish sifatida ishlatilishi mumkin). Shubhasiz 28> 18 va bizda 3 ta kirish borligini esdan chiqarmaslik kerak (tekshirish, chapni tanlash, o'ngni tanlash).

Portni kengaytirish uchun biz Shift Register -dan foydalanamiz. Bu erda qanday ishlashini tushunishingiz mumkin. Lekin asosan u 3 ta kirish va 8 ta chiqishdan iborat. SH_CP LOWdan HIGHgacha o'tganda, DS o'qiladi va Q1dan Q8gacha uzatiladi. Va ST_CP LOWdan HIGHgacha bo'lganida chiqishni o'qish mumkin.

Shunday qilib, biz 7 ta ustunimizni 3 ta kirish bilan boshqarishimiz mumkin. Biz rang berishimiz kerak, biz Shift Register -ni o'zgartirishimiz kerak bo'ladi.

Keling, qancha pin qolganligini ko'rib chiqaylik:

  • 7 ta asos
  • Qizil rang uchun 3
  • 3 yashil rang uchun
  • Tugmalar uchun 3

Hozir bizda 16/18 pin ishlatiladi. Dasturni optimallashtirish uchun biz SH_CP -lar uchun bir xil, ST_CP -lar uchun bir xil pinni ishlatamiz. Shunday qilib, 14 ta pin ishlatilgan. Bu kabel yordamida biz faqat yashil chiroqlar yoki faqat qizil chiroqlar yoqilishiga amin bo'lishimiz mumkin.

4 -qadam: O'chirish diagrammasi

O'chirish diagrammasi
O'chirish diagrammasi

Bu bizning ulanish sxemamiz 4. Men uni loyihalash uchun Fritzing (bepul) dan foydalandim. Siz tranzistorlar bilan 7 ta chiziqni o'rnatishingiz kerak.

Bu Arduino pinlari:

  • D0: ishlatilmagan
  • D1: ishlatilmagan
  • D2: 1 -qator
  • D3: 2 -qator
  • D4: 3 -qator
  • D5: 4 -qator
  • D6: 5 -qator
  • D7: 6 -qator
  • D8: 7 -qator
  • D9: ishlatilmagan
  • D10: o'ng tugma
  • D11: chap tugma
  • D12: tegishli tugma
  • D13: SH_CP
  • A0: ST_CP
  • A1: qizil DS
  • A2: yashil DS
  • A3 - A7: ishlatilmagan

Va Shift registrining pinlari:

  • 1: etakchi 2
  • 2: etakchi 3
  • 3: etakchi 4
  • 4: etakchi 5
  • 5: etakchi 6
  • 6: etakchi 7
  • 7: ishlatilmagan
  • 8: er
  • 9: ishlatilmagan
  • 10: 10K qarshilik va +5V
  • 11: Arduino D13
  • 12: Arduino A1 yoki A2
  • 13: er
  • 14: Arduino A0
  • 15: etakchi 1
  • 16: +5V

5 -qadam: Leds tog'i

Led tog'i
Led tog'i
Led tog'i
Led tog'i

Mening LED tarmoqlarim dahshatli ko'rinadi, bu mening birinchi loyiham edi.

Menimcha, siz qutingizga LEDlarni o'rnatish uchun yaxshiroq echim topishingiz mumkin. Bu bosqichda siz ijodiy va zukko bo'lishingiz kerak. Men sizga yordam berolmayman, chunki men yaxshi echim topmadim …

Shuni yodda tutingki, siz barcha LEDlarning pimlarini bir -biriga lehimlashingiz va chiziqlar va ustunlarni payvand qilishingiz kerak bo'ladi. Bu ochiq bo'lishi kerak, Arduino va Register ular bilan bog'liq bo'ladi.

Men sizga har bir Ledni lehimlashdan oldin sinab ko'rishingizni maslahat beraman, lekin kech bo'ladi … Ko'proq taxtangizning boshqa chizig'idan foydalanishingiz mumkin: agar siz yer uchini almashtirsangiz, ularni bir -biriga ulash osonroq bo'ladi.

6 -qadam: Lehim davri

Lehim davri
Lehim davri

Men ikkita taxtadan foydalanaman: biri LEDlarni bir -biriga ulash uchun, ikkinchisi kontaktlarning zanglashiga.

Agar siz puxta va uzoqni ko'ra olsangiz, sizning satrlaringiz va ustunlaringizga osongina kirish mumkin va ularni asosiy taxtaga lehimlash mumkin.

Shoshilmang ! Bu muvaffaqiyat kaliti!

7 -qadam: Dastur

Endi sizda Connect4 mavjud. Undan foydalanish uchun siz ba'zi kodlarni yuklashingiz kerak. Meniki to'liq funktsionaldir va undan foydalanish mumkin.

Uni bu erdan yuklab oling va Arduino Nano -ga o'tkazing.

Qaysi pinlarni ishlatganingizni biling, agar kerak bo'lsa, siz ba'zi kodni o'zgartirishingiz kerak bo'ladi.

Ba'zi yangilanishlarni amalga oshirish mumkin: AI, o'ynash vaqti,…

Tavsiya: