Mündəricat:

POING! - Arduino Arcade Oyunu!: 3 addım
POING! - Arduino Arcade Oyunu!: 3 addım

Video: POING! - Arduino Arcade Oyunu!: 3 addım

Video: POING! - Arduino Arcade Oyunu!: 3 addım
Video: EN İLGİNÇ 3 AKILLI SAAT🤫 2024, Noyabr
Anonim
Image
Image
POING! - Arduino Arcade Oyunu!
POING! - Arduino Arcade Oyunu!

Elegoo Inc-in "Ən Tam Başlanğıc Kit UNO R3 Layihəsi" dəstinin hissələrindən istifadə edən PONG tərzi bir arcade oyunu quracağıq.

Tam Açıqlama - Bu Təlimat üçün verilən hissələrin əksəriyyəti müəllifə Elegoo Inc tərəfindən verilmişdir.

Bir LED Matrix modulu istifadə edərək bir layihə qurmaq istədim. Əsas 8x8 LED ekranı, matrisdəki fərdi LED -lərə müraciət etmək üçün əlavə keçid qeydlərinin istifadəsini tələb edir. Bunun əvəzinə, bu layihə MAX7219 8x8 LED modulundan istifadə edir. İstifadəsi çox asan bir moduldur.

Təklif edərdim ki, bu layihədə çox sayda məftil əlaqəsi olduğu üçün bu, ARTI Səviyyə Təlimatlı sayılacaq.

Gəlin başlayaq!

Təchizat

İstifadə olunan Elegoo Başlanğıc Kit Hissələri (https://rebrand.ly/dvjb3w8)

  • UNO R3 mikro nəzarətçi
  • MAX7219 8x8 LED Modulu
  • LCD 16x2 Ekran Modulu
  • 10K Trim Potansiometr və düymə
  • Dupont Wires
  • 220R rezistor
  • Passiv Piezo Buzzer
  • Enerji təchizatı modulu
  • 9V 1A Adapter - UNO 8x8 LED Modulu üçün kifayət qədər cərəyan verə bilmədiyi üçün lazımdır
  • Çörək lövhəsi

Əlavə hissələrə ehtiyac var

2 x 10K xətti potensiometr - ucuzdur və eBay, AliExpress, Banggood və s.

Addım 1: Dövrəni Qabaqlama

Dövrəni Bağlamaq
Dövrəni Bağlamaq

Elektrik sxeminə uyğun olaraq dövrə bağlayın. İşində ol. İki ekran üçün bir çox əlaqə lazımdır.

Dövrə fotoşəklində, güc modulunun çörək taxtasının sol tərəfinə bağlandığına və 9V 1A DC Adaptörünün LED matrisinə kifayət qədər cərəyan verməsi üçün güc moduluna qoşulduğuna diqqət yetirin. UNO üzərindəki 5V pinlə çörək taxtası arasında heç bir əlaqə yoxdur. AMMA, UNO -dakı GND pin çörək taxtasındakı GND -yə bağlıdır.

İşinizi ikiqat və üç dəfə yoxlayın.

Addım 2: Arduino Kodu

Bu təlimat, Arduinoda necə proqram quracağınızı artıq bildiyinizi güman edir.

Əlavə edilmiş Arduino eskizini yükləyin. LedControl kitabxanasına Arduino kitabxanalarınıza əlavə etdiyinizə əmin olun. Eberhard Fahle versiyasını istifadə etdim. Kitabxanaları İdarə et brauzerində MAX7219 axtarın və tapıb quraşdıracaqsınız.

Pitches.h faylının eskiz qovluğunda olduğundan əmin olun. Oyundakı səsləri səsləndirmək üçün istifadə olunur.

Vaxt haqqında bir az

Gecikmə () əmri eskizinizin işə salınmasını tamamilə dayandırdığı üçün, əksinə, eskizin animasiya ilə əlaqəli hissələrini icra etmək istədiyimiz zaman baş verən zaman dövrlərini axtarırıq. Topun yerini ekranda yeniləmək kimi eskiz hissələrini icra etməzdən əvvəl əvvəlcədən təyin olunmuş vaxt axtarırıq.

Daha əhəmiyyətlisi, delay () əmri həqiqətən yalnız loop () metodunda icra olunur. Adətən digər üsullarda gözlənildiyi kimi işləmir. Beləliklə, animasiya ilə əlaqəli bütün zamanlama loop () metodunda aparılır.

Misal:

Bəzi 'uzun' tipli dəyişənləri və bir neçə booleanı təyin edirik və sonra onları quraşdırmanın sonunda qururuq ().

bThresh = 80; // top yeniləmələri arasındakı vaxt milisaniyələrdə

ballTime = millis (); // cari sistem vaxtına təyin olunur

bon = yalan; // topun LEDinin yanması və ya sönməsidir

ballReturn = yalan; // avar vurandan sonra topu geri qaytarırıq?

Topu çəkmək üçün loopda () əldə edirik:

if ((millis () - ballTime> bThresh) && bon == false) {// top OFF vəziyyətdədirsə və kifayət qədər vaxt ballOn () keçibsə; // top LEDini yandırın

bon = doğru; // top artıq açıqdır

ballTime = milis (); // topu vaxtını indiki vaxta qaytarın

}

if ((millis () - ballTime> bThresh) && bon == doğru) {// top AÇIQdırsa və kifayət qədər vaxt keçibsə

ballOff (); // topun LEDini söndürün

bon = yalan; // top artıq söndürüldü

ballTime = milis (); ballTIme -ı indiki vaxta qaytarın

}

Bu oyunu qurmağın bir çox yolu var. Bunlar sadəcə mənim seçimlərimdir.

Eskiz tam sənədləşdirilmişdir, buna görə necə işlədiyini görmək üçün kodu oxumağa dəvət edirəm.

Kodunuzu yoxlayın, tərtib edin və yükləyin.

Oyununuzdan zövq alın!

Addım 3: Nəticə

Nəticə
Nəticə
Nəticə
Nəticə

Bu layihədə istifadə olunan başlanğıc dəstini təmin etdiyi üçün Elegoo Inc şirkətinə təşəkkürümü bildirirəm. Sizi Arduino Maker dünyasına yaxından daxil edəcək çoxlu hissələri və modulları olan bir dəstdir.

Tövsiyə: