Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Muallif: ClemNafFollow Batafsil:
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
-
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
-
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
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
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
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
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,…