Mundarija:

POING! - Arduino Arja o'yini!: 3 qadam
POING! - Arduino Arja o'yini!: 3 qadam

Video: POING! - Arduino Arja o'yini!: 3 qadam

Video: POING! - Arduino Arja o'yini!: 3 qadam
Video: Arduino 0.0 How to Install 2024, Noyabr
Anonim
Image
Image
POING! - Arduino Arja o'yini!
POING! - Arduino Arja o'yini!

Biz Elegoo Inc-ning "Eng to'liq boshlang'ich to'plami UNO R3 loyihasi" to'plamining qismlaridan foydalanadigan PONG uslubidagi arkada o'yinini quramiz.

To'liq oshkor qilish - Ushbu ko'rsatma uchun berilgan qismlarning aksariyati muallifga Elegoo Inc.

Men LED Matrix moduli yordamida loyiha qurmoqchi edim. Asosiy 8x8 LED displeyi matritsadagi individual LEDlarni hal qilish uchun qo'shimcha smenali registrlardan foydalanishni talab qiladi. Buning o'rniga, bu loyihada MAX7219 8x8 LED moduli ishlatiladi. Bu ishlatish uchun juda oson modul.

Men taklif qilardimki, ushbu loyihada ko'p sonli simli ulanishlar mavjud, bu O'RTA darajali ko'rsatmali hisoblanadi.

Qani boshladik!

Ta'minotlar

Ishlatiladigan Elegoo boshlang'ich to'plami qismlari (https://rebrand.ly/dvjb3w8)

  • UNO R3 mikrokontroller
  • MAX7219 8x8 LED moduli
  • 16x2 LCD displeyli modul
  • 10K trim potentsiometr va tugma
  • Dupont Wires
  • 220R qarshilik
  • Passiv Piezo Buzzer
  • Quvvat manbai moduli
  • 9V 1A adapter - kerak, chunki UNO 8x8 LED moduli uchun etarli oqim bera olmaydi
  • Non paneli

Qo'shimcha qismlar kerak

2 x 10K chiziqli potentsiometr - arzon va eBay, AliExpress, Banggood va boshqalarda keng tarqalgan.

1 -qadam: O'chirish simini ulash

O'chirish
O'chirish

O'chirish sxemasiga muvofiq sxemani simga ulang. Shoshilmang. Ikkala displey uchun juda ko'p ulanish kerak.

Sxemaning fotosuratiga e'tibor bering, quvvat moduli non panelining chap tomoniga ulangan va 9V 1A shahar adapteri quvvat moduliga ulangan, shuning uchun LED matritsasiga etarli oqim beriladi. Birlashgan Millatlar Tashkilotidagi 5V pin bilan non paneli o'rtasida hech qanday aloqa yo'q. LEKIN, UNOdagi GND pimi non panelidagi GND ga ulangan.

Ishingizni ikki va uch marta tekshiring.

2 -qadam: Arduino kodi

Bu ko'rsatma siz Arduino -da dasturlashni bilganingizni taxmin qiladi.

Qo'shilgan Arduino eskizini yuklab oling. LedControl kutubxonasini Arduino kutubxonalariga qo'shganingizga ishonch hosil qiling. Men Eberhard Fahle versiyasini ishlatganman. Kutubxonalarni boshqarish brauzerida MAX7219 ni qidiring va uni topib o'rnatasiz.

Pitches.h fayli eskiz papkasida ekanligiga ishonch hosil qiling. Bu o'yindagi tovushlarni ijro etish uchun ishlatiladi.

Vaqt haqida bir oz

Delay () buyrug'i eskizni bajarilishini to'liq to'xtatib qo'yganligi sababli, biz eskizning animatsiya bilan bog'liq qismlarini bajarishni xohlaganimizda, o'tgan vaqtlarni qidiramiz. Biz eskizning qismlarini bajarishdan oldin, masalan, displeyda to'pning joylashishini yangilash uchun oldindan belgilangan vaqtni qidiramiz.

Muhimi, delay () buyrug'i haqiqatan ham faqat loop () usulida bajariladi. Odatda u boshqa usullarda kutilganidek bajarilmaydi. Shunday qilib, animatsiya bilan bog'liq barcha vaqtlar loop () usulida amalga oshiriladi.

Misol:

Biz "uzun" turdagi o'zgaruvchilarni va bir nechta booleanlarni belgilaymiz va ularni sozlash oxirida o'rnatamiz ().

bThresh = 80; // to'p yangilanishlari orasidagi vaqt millisekundlarda

ballTime = millis (); // joriy tizim vaqtiga o'rnatilgan

bon = noto'g'ri; // - bu LEDning yonishi yoki o'chishi

ballReturn = noto'g'ri; // biz belkurak urilganidan keyin to'pni qaytarayapmizmi?

To'pni chizish uchun loopda () bizda:

if ((millis () - ballTime> bThresh) && bon == false) {// agar to'p o'chirilgan bo'lsa va etarli vaqt o'tgan bo'lsa ballOn (); // to'p LEDini yoqing

bon = haqiqiy; // to'p hozir yoqilgan

ballTime = millis (); // ballTime -ni hozirgi vaqtga qaytaring

}

if ((millis () - ballTime> bThresh) && bon == rost) {// agar to'p yoqilgan bo'lsa va etarli vaqt o'tgan bo'lsa

ballOff (); // to'p LEDini o'chiring

bon = noto'g'ri; // to'p endi o'chirilgan

ballTime = millis (); ballTIme -ni joriy vaqtga qaytaring

}

Ushbu o'yinni o'tkazishning ko'plab usullari mavjud. Bu faqat mening afzalliklarim.

Eskiz to'liq hujjatlashtirilgan, shuning uchun sizni qanday ishlashini ko'rish uchun kodni o'qishga taklif qilaman.

Kodni tekshiring, kompilyatsiya qiling va yuklang.

O'yin o'ynashdan rohatlaning!

3 -qadam: Xulosa

Xulosa
Xulosa
Xulosa
Xulosa

Ushbu loyihada ishlatiladigan boshlang'ich to'plamini taqdim etgani uchun Elegoo Inc kompaniyasiga rahmat aytaman. Bu sizni Arduino Maker dunyosiga yaxshi kirgizadigan turli xil qismlar va modullarga ega to'plam.

Tavsiya: