Kazalo:

POiNG! - Arduino arkadna igra!: 3 koraki
POiNG! - Arduino arkadna igra!: 3 koraki

Video: POiNG! - Arduino arkadna igra!: 3 koraki

Video: POiNG! - Arduino arkadna igra!: 3 koraki
Video: Сделал игру по фильму за 30 секунд #программист #gamedev #компьютер #игры #айти 2024, November
Anonim
Image
Image
POiNG! - Arduino arkadna igra!
POiNG! - Arduino arkadna igra!

Gradili bomo arkadno igro v slogu PONG, ki uporablja dele iz kompleta "Najbolj popoln začetni komplet projekta UNO R3" podjetja Elegoo Inc.

Popolno razkritje - Večino delov, priloženih temu navodilu, je avtorju posredoval Elegoo Inc.

Želel sem zgraditi projekt z uporabo LED matričnega modula. Osnovni LED zaslon 8x8 zahteva uporabo dodatnih registrov premikov, da lahko obravnava posamezne LED v matriki. Namesto tega ta projekt uporablja LED modul MAX7219 8x8. To je zelo enostaven za uporabo modul.

Predlagam, da bi se zaradi velikega števila kabelskih povezav v tem projektu štelo za vmesno raven Instructable.

Začnimo!

Zaloge

Rabljeni deli začetnega kompleta Elegoo (https://rebrand.ly/dvjb3w8)

  • UNO R3 mikrokrmilnik
  • MAX7219 8x8 LED modul
  • Zaslonski modul LCD 16x2
  • 10K trim potenciometer in gumb
  • Dupont žice
  • 220R upor
  • Pasivni zvočni signal Piezo
  • Napajalni modul
  • 9V 1A adapter - potreben, ker UNO ne more zagotoviti zadostnega toka za 8x8 LED modul
  • Ogledna plošča

Potrebni dodatni deli

2 x 10K linearni potenciometer - poceni in široko dostopen na eBayu, AliExpressu, Banggoodu itd.

1. korak: Ožičenje vezja

Ožičenje vezja
Ožičenje vezja

Ožičite vezje v skladu s shemo ožičenja. Vzemi si čas. Za oba zaslona je potrebno veliko povezav.

Na fotografiji vezja opazite, da je napajalni modul pritrjen na levo stran plošče in da je napajalni modul 9V 1A priključen v napajalni modul, tako da se v matriko LED dovaja dovolj toka. Nima povezave med 5V zatičem na UNO in ploščo. Vendar je pin GND na UNO povezan z GND na plošči.

Dvakrat in trikrat preverite svoje delo.

2. korak: Arduino koda

Ta pouk predvideva, da že znate programirati v Arduinu.

Prenesite priloženo skico Arduino. Poskrbite, da ste v knjižnico Arduino dodali knjižnico LedControl. Uporabil sem različico Eberharda Fahleja. Samo poiščite MAX7219 v brskalniku Manage Libraries in ga boste našli in namestili.

Prepričajte se, da je datoteka pitches.h v mapi skice. Uporablja se za predvajanje zvokov v igri.

Nekaj o času

Ker ukaz delay () v celoti zaustavi izvajanje skice, ko se zažene, namesto tega iščemo pretekla časovna obdobja, ki se pojavijo, ko želimo izvesti dele skice, povezane z animacijo. Iščemo vnaprej določeno časovno obdobje, preden izvedemo dele skice, na primer posodobitev lokacije žoge na zaslonu.

Še pomembneje je, da se ukaz delay () v resnici izvede samo v metodi loop (). Pri drugih metodah se običajno ne izvaja po pričakovanjih. Tako se ves čas, povezan z animacijo, izvede v metodi loop ().

Primer:

Opredelimo nekaj spremenljivk tipa "long" in nekaj logičnih vrednosti, nato pa jih nastavimo na koncu setup ().

bThresh = 80; // čas v milisekundah med posodobitvami kroglic

ballTime = millis (); // nastavljeno na trenutni sistemski čas

bon = napačno; // je LED za kroglo vklopljen ali izklopljen

ballReturn = false; // vračamo žogo po udarcu z veslom?

V zanki () za risanje žoge imamo:

if ((millis () - ballTime> bThresh) && bon == false) {// če je žoga IZKLOPLJENA in je minilo dovolj časa ballOn (); // vklopi LED za žogo

bon = res; // žoga je zdaj ON

ballTime = millis (); // ponastavimo ballTime na trenutni čas

}

if ((millis () - ballTime> bThresh) && bon == true) {// če je žoga vklopljena in je minilo dovolj časa

ballOff (); // izklopite LED za kroglo

bon = napačno; // žoga je zdaj OFF

ballTime = millis (); ponastavite žogo na trenutni čas

}

Obstaja veliko načinov za izdelavo te igre. To so le moje preference.

Skica je v celoti dokumentirana, zato vas vabim, da preberete kodo, da vidite, kako deluje.

Preverite, sestavite in naložite kodo.

Uživajte v svoji igri!

3. korak: Zaključek

Zaključek
Zaključek
Zaključek
Zaključek

Zahvaljujem se Elegoo Inc za zagon začetnega kompleta, uporabljenega v tem projektu. To je komplet z veliko raznolikimi deli in moduli, ki vas bodo popeljali v svet Arduino Makerja.

Priporočena: