Obsah:

POiNG! - Arkádová hra Arduino !: 3 kroky
POiNG! - Arkádová hra Arduino !: 3 kroky

Video: POiNG! - Arkádová hra Arduino !: 3 kroky

Video: POiNG! - Arkádová hra Arduino !: 3 kroky
Video: What are the characteristics of clown arcade game machine?Contact us:+86-13824465888 Helen Lau 2024, November
Anonim
Image
Image
POiNG! - Arkádová hra Arduino!
POiNG! - Arkádová hra Arduino!

Postavíme arkádovú hru v štýle PONG, ktorá používa diely zo súpravy „The Most Complete Starter Kit UNO R3 Project“od spoločnosti Elegoo Inc.

Úplné zverejnenie - väčšinu častí dodaných s týmto návodom poskytla autorovi spoločnosť Elegoo Inc.

Chcel som vytvoriť projekt pomocou modulu LED Matrix. Základný LED displej 8x8 vyžaduje použitie ďalších posuvných registrov, aby bolo možné adresovať jednotlivé LED diódy v matici. Namiesto toho tento projekt používa LED modul MAX7219 8x8. Je to veľmi jednoduchý modul na použitie.

Navrhoval by som, aby bol vzhľadom na veľký počet zapojení elektroinštalácií v tomto projekte považovaný za INTERMEDIATICKÚ úroveň, ktorú je možné inštruovať.

Začnime!

Zásoby

Použité diely štartovacej súpravy Elegoo (https://rebrand.ly/dvjb3w8)

  • Mikrokontrolér UNO R3
  • LED modul MAX7219 8x8
  • Modul displeja LCD 16x2
  • 10K trimovací potenciometer a gombík
  • Dupont Wires
  • Rezistor 220R
  • Pasívny piezoelektrický bzučiak
  • Modul napájania
  • Adaptér 9V 1A - potrebný, pretože UNO nemôže dodávať dostatočný prúd pre modul LED 8x8
  • Breadboard

Potrebné ďalšie diely

2 x 10K lineárny potenciometer - lacný a široko dostupný na eBay, AliExpress, Banggood atď.

Krok 1: Zapojenie obvodu

Zapojenie obvodu
Zapojenie obvodu

Zapojte obvod podľa schémy zapojenia. Neponáhľaj sa. Pre tieto dva displeje je potrebných VEĽA pripojení.

Všimnite si na fotografii obvodu, že napájací modul je pripevnený k ľavej strane dosky a 9V 1A DC adaptér je zapojený do napájacieho modulu tak, aby bol do matice LED dodávaný dostatočný prúd. Medzi 5V kolíkom na UNO a doskou neprebieha ŽIADNE spojenie. ALE, pin GND na UNO je spojený s GND na doske.

Dvakrát a trikrát skontrolujte svoju prácu.

Krok 2: Arduino kód

Tento návod predpokladá, že už viete, ako programovať v Arduine.

Stiahnite si priloženú skicu Arduino. Uistite sa, že ste pridali knižnicu LedControl do svojich knižníc Arduino. Použil som verziu od Eberharda Fahleho. Stačí vyhľadať MAX7219 v prehliadači Spravovať knižnice a nájdete ho a nainštalujete.

Uistite sa, že súbor pitches.h je v priečinku vašej skice. Slúži na prehrávanie zvukov v hre.

Trochu o načasovaní

Pretože príkaz delay () úplne pozastaví spustenie vašej skice, keď je spustená, namiesto toho hľadáme uplynulé časové obdobia, keď chceme vykonať časti skice súvisiace s animáciou. Pred vykonaním častí náčrtu, ako je napríklad aktualizácia umiestnenia lopty na displeji, hľadáme prednastavený čas.

Ešte dôležitejšie je, že príkaz delay () sa skutočne vykonáva iba metódou loop (). Obvykle sa nepracuje tak, ako sa očakáva v iných metódach. Všetky načasovania súvisiace s animáciami sa teda vykonávajú metódou loop ().

Príklad:

Definujeme niekoľko „dlhých“typových premenných a niekoľko booleov a potom ich nastavíme na konci nastavenia ().

bThresh = 80; // čas v milisekundách medzi aktualizáciami lopty

ballTime = millis (); // nastavený na aktuálny systémový čas

bon = nepravda; // je guľová LED zapnutá alebo vypnutá

ballReturn = nepravda; // vraciame loptičku po údere pádlom?

V slučke () na kreslenie lopty máme:

if ((millis () - ballTime> bThresh) && bon == false) {// ak je loptička VYPNUTÁ a uplynul dostatok času ballOn (); // zapnite LED diódu

bon = pravda; // lopta je teraz ZAPNUTÁ

ballTime = millis (); // reset ballTime na aktuálny čas

}

if ((millis () - ballTime> bThresh) && bon == true) {// ak je lopta zapnutá a uplynul dostatok času

ballOff (); // vypnutie LED gule

bon = nepravda; // lopta je teraz vypnutá

ballTime = millis (); resetujte loptičku na aktuálny čas

}

Existuje mnoho spôsobov, ako vytvoriť túto hru. Toto sú len moje preferencie.

Skica je plne zdokumentovaná, preto vás pozývam, aby ste si prečítali kód a zistili, ako funguje.

Skontrolujte, skompilovajte a nahrajte svoj kód.

Užite si hranie svojej hry!

Krok 3: Záver

Záver
Záver
Záver
Záver

Moje poďakovanie patrí spoločnosti Elegoo Inc za poskytnutie štartovacej sady použitej v tomto projekte. Je to súprava s veľkým počtom rôznych dielov a modulov, ktoré vás zavedú do sveta Arduino Maker.

Odporúča: