Turinys:

POING! - „Arduino“arkadinis žaidimas!: 3 žingsniai
POING! - „Arduino“arkadinis žaidimas!: 3 žingsniai

Video: POING! - „Arduino“arkadinis žaidimas!: 3 žingsniai

Video: POING! - „Arduino“arkadinis žaidimas!: 3 žingsniai
Video: Pac-Man Smash: Air Hockey at Cedar Point 2024, Lapkritis
Anonim
Image
Image
POING! - „Arduino“arkadinis žaidimas!
POING! - „Arduino“arkadinis žaidimas!

Mes kursime PONG stiliaus arkadinį žaidimą, kuriame bus naudojamos dalys iš „Elegoo Inc.

Visas atskleidimas - daugumą šiai instrukcijai pateiktų dalių autorei pateikė „Elegoo Inc.

Norėjau sukurti projektą naudojant LED matricos modulį. Pagrindiniam 8x8 LED ekranui reikia naudoti papildomus poslinkių registrus, kad būtų galima adresuoti atskirus matricos šviesos diodus. Vietoj to, šiame projekte naudojamas MAX7219 8x8 LED modulis. Tai labai paprasta naudoti modulis.

Aš siūlau, kad dėl didelio šio projekto laidų jungčių skaičiaus jis būtų laikomas INTERMEDIATE level Instructable.

Pradėkime!

Prekės

Naudotos „Elegoo“pradinio komplekto dalys (https://rebrand.ly/dvjb3w8)

  • UNO R3 mikrovaldiklis
  • MAX7219 8x8 LED modulis
  • 16x2 skystųjų kristalų ekrano modulis
  • 10K apdailos potenciometras ir rankenėlė
  • Dupont laidai
  • 220R rezistorius
  • Pasyvus pjezo garsinis signalas
  • Maitinimo blokas
  • 9V 1A adapteris - reikalingas, nes UNO negali tiekti pakankamai srovės 8x8 LED moduliui
  • Bandomoji Lenta

Reikalingos papildomos dalys

2 x 10K linijinis potenciometras - nebrangus ir plačiai prieinamas „eBay“, „AliExpress“, „Banggood“ir kt.

1 žingsnis: grandinės prijungimas

Grandinės prijungimas
Grandinės prijungimas

Prijunkite grandinę pagal elektros instaliacijos schemą. Neskubėk. Abiem ekranams reikia daug jungčių.

Atkreipkite dėmesį į grandinės nuotrauką, kad maitinimo modulis yra pritvirtintas kairėje duonos lentos pusėje, o 9V 1A DC adapteris yra prijungtas prie maitinimo modulio, kad į LED matricą būtų tiekiama pakankamai srovės. Nėra ryšio tarp 5V kaiščio UNO ir duonos lentos. BET, UNO GND kaištis yra prijungtas prie GND ant duonos lentos.

Dvigubai ir trigubai patikrinkite savo darbą.

2 žingsnis: „Arduino“kodas

Ši pamoka reiškia, kad jūs jau žinote, kaip programuoti „Arduino“.

Atsisiųskite pridėtą „Arduino“eskizą. Įsitikinkite, kad įtraukėte „LedControl“biblioteką į savo „Arduino“bibliotekas. Aš naudojau Eberhard Fahle versiją. Tiesiog ieškokite „MAX7219“naršyklėje „Valdyti bibliotekas“ir rasite ir įdiegsite.

Įsitikinkite, kad failas pitches.h yra eskizo aplanke. Jis naudojamas žaidimo garsams paleisti.

Šiek tiek apie laiką

Kadangi „delay“() komanda visiškai sustabdo eskizo vykdymą, kai jis vykdomas, mes ieškome prabėgusių laikotarpių, kai norime įvykdyti su animacija susijusias eskizo dalis. Prieš vykdydami eskizo dalis, pvz., Atnaujiname rutulio vietą ekrane, laukiame iš anksto nustatyto laiko.

Dar svarbiau, kad komanda delay () iš tikrųjų vykdoma tik naudojant ciklo () metodą. Paprastai jis neveikia taip, kaip tikėtasi naudojant kitus metodus. Taigi visas su animacija susijęs laikas atliekamas ciklo () metodu.

Pavyzdys:

Mes apibrėžiame kai kuriuos „ilgo“tipo kintamuosius ir keletą loginių verčių, o tada nustatome juos sąrankos pabaigoje ().

bThresh = 80; // laikas milisekundėmis tarp rutulio atnaujinimų

ballTime = milis (); // nustatyti dabartinį sistemos laiką

bon = false; // yra rutulio šviesos diodas įjungtas arba išjungtas

ballReturn = klaidinga; // ar grąžiname kamuolį po irklo smūgio?

Rutulyje piešimo kilpoje () turime:

if ((millis () - ballTime> bThresh) && bon == false) {// jei kamuolys yra IŠJUNGTAS ir pakankamai laiko praėjo ballOn (); // įjunk rutulio šviesos diodą

bon = tiesa; // kamuolys dabar įjungtas

ballTime = milis (); // iš naujo nustatyti „BallTime“dabartinį laiką

}

if ((millis () - ballTime> bThresh) && bon == true) {// jei kamuolys įjungtas ir praėjo pakankamai laiko

ballOff (); // išjungti rutulio šviesos diodą

bon = false; // kamuolys dabar IŠJUNGTAS

ballTime = milis (); atkurti kamuoliuko dabartinį laiką

}

Yra daug būdų, kaip sukurti šį žaidimą. Tai tik mano pageidavimai.

Eskizas yra visiškai dokumentuotas, todėl kviečiu perskaityti kodą ir pamatyti, kaip jis veikia.

Patikrinkite, sukompiliuokite ir įkelkite savo kodą.

Mėgaukitės žaidimu!

3 žingsnis: Išvada

Išvada
Išvada
Išvada
Išvada

Dėkoju „Elegoo Inc“už pradinį rinkinį, naudojamą šiame projekte. Tai rinkinys su daugybe dalių ir modulių, kurie padės jums patekti į „Arduino Maker“pasaulį.

Rekomenduojamas: