Përmbajtje:

POING! - Arcino Arcade Game !: 3 hapa
POING! - Arcino Arcade Game !: 3 hapa

Video: POING! - Arcino Arcade Game !: 3 hapa

Video: POING! - Arcino Arcade Game !: 3 hapa
Video: Good Design, Bad Design Vol. 2 - Great & Terrible Video Game Graphic Design Examples ~ Design Doc 2024, Nëntor
Anonim
Image
Image
POING! - Arduino Arcade Game!
POING! - Arduino Arcade Game!

Ne do të ndërtojmë një lojë arcade të stilit PONG që përdor pjesë nga kompleti "Kit Starter Kit më i Plotë UNO R3 Project" nga Elegoo Inc.

Zbulimi i plotë - Shumica e pjesëve të furnizuara për këtë Udhëzues i janë dhënë autorit nga Elegoo Inc.

Kam dashur të ndërtoj një projekt duke përdorur një modul LED Matrix. Ekrani bazë 8x8 LED kërkon përdorimin e regjistrave shtesë të ndërrimit për të qenë në gjendje të adresojë LED -të individuale në matricë. Në vend të kësaj, ky projekt përdor modulin LED MAX7219 8x8. It'sshtë një modul shumë i lehtë për t’u përdorur.

Unë do të sugjeroja që për shkak të numrit të madh të lidhjeve të telave në këtë projekt, do të konsiderohej një nivel i ndërmjetëm i udhëzueshëm.

Le të fillojmë!

Furnizimet

Pjesët e Elegoo Starter Kit të Përdorura (https://rebrand.ly/dvjb3w8)

  • Mikrokontrolluesi UNO R3
  • MAX7219 Modul LED 8x8
  • Moduli i ekranit LCD 16x2
  • Potenciometër dhe çelës Trim 10K
  • Telat Dupont
  • Rezistencë 220R
  • Buzzer pasiv Piezo
  • Moduli i Furnizimit me Energji
  • Përshtatës 9V 1A - nevojitet sepse UNO nuk mund të sigurojë rrymë të mjaftueshme për Modulin LED 8x8
  • Breadboard

Pjesë shtesë të nevojshme

Potenciometër linear 2 x 10K - i lirë dhe i disponueshëm gjerësisht në eBay, AliExpress, Banggood etj.

Hapi 1: Instalimi i qarkut

Instalimi i qarkut
Instalimi i qarkut

Lidhni qarkun sipas diagramit të instalimeve elektrike. Merrni kohën tuaj. Ka shumë lidhje të nevojshme për dy ekranet.

Vini re në foton e qarkut se moduli i energjisë është i bashkangjitur në anën e majtë të bordit të bukës dhe përshtatësi 9V 1A DC është i kyçur në modulin e energjisë në mënyrë që rryma e mjaftueshme të furnizohet në matricën LED. NUK ka lidhje midis kunjit 5V në UNO dhe tabelës së bukës. POR, kunja GND në UNO është e lidhur me GND në tabelën e bukës.

Kontrolloni dyfish dhe trefish punën tuaj.

Hapi 2: Kodi Arduino

Ky udhëzues supozon se ju tashmë e dini se si të programoni në Arduino.

Shkarkoni skicën e bashkangjitur Arduino. Sigurohuni që keni shtuar në bibliotekën LedControl bibliotekat tuaja Arduino. Kam përdorur versionin nga Eberhard Fahle. Thjesht kërkoni MAX7219 në shfletuesin Manage Libraries dhe do ta gjeni dhe instaloni.

Sigurohuni që skedari pitches.h është në dosjen tuaj të skicës. Përdoret për të luajtur tingujt në lojë.

Pak për kohën

Ndërsa komanda e vonesës () ndalon plotësisht ekzekutimin e skicës tuaj kur të ekzekutohet, ne në vend të kësaj kërkojmë që periudhat e kaluara kohore të ndodhin kur duam të ekzekutojmë pjesë të skicës të lidhura me animacionin. Ne kërkojmë një kohë të paracaktuar për të kaluar para se të ekzekutojmë pjesë të skicës siç është azhurnimi i vendndodhjes së topit në ekran.

Më e rëndësishmja, komanda delay () ekzekutohet në të vërtetë vetëm në metodën loop (). Zakonisht nuk ekzekutohet siç pritej në metoda të tjera. Pra, i gjithë koha e lidhur me animacionin bëhet në metodën loop ().

Shembull:

Ne përcaktojmë disa ndryshore të tipit 'të gjatë' dhe disa booleanë dhe pastaj i vendosim ato në fund të konfigurimit ().

bThresh = 80; // koha në milisekonda mes përditësimeve të topit

ballTime = millis (); // vendosur në kohën aktuale të sistemit

bon = false; // është LED topi i ndezur ose i fikur

ballReturn = false; // a po e kthejmë një top pas një goditjeje me vozitje?

Në lakin () për vizatimin e topit kemi:

nëse ((millis () - ballTime> bThresh) && bon == false) {// nëse topi është OFF dhe ka kaluar mjaft kohë ballOn (); // ndizni LED topin

bon = e vërtetë; // topi tani është ON

ballTime = milis (); // rivendosni ballTime në kohën aktuale

}

nëse ((milis () - ballTime> bThresh) && bon == vërtetë) {// nëse topi është ndezur dhe ka kaluar kohë e mjaftueshme

ballOff (); // fikni LED -in e topit

bon = false; // topi tani është OFF

ballTime = milis (); rivendosni topinTIme në kohën aktuale

}

Ka shumë mënyra për ta bërë këtë lojë. Këto janë vetëm preferencat e mia.

Skica është plotësisht e dokumentuar, kështu që ju ftoj të lexoni kodin për të parë se si funksionon.

Kontrolloni, përpiloni dhe ngarkoni kodin tuaj.

Kënaquni duke luajtur lojën tuaj!

Hapi 3: Përfundimi

Përfundim
Përfundim
Përfundim
Përfundim

Falenderimet e mia shkojnë për Elegoo Inc për sigurimin e çantës fillestare të përdorur në këtë projekt. It'sshtë një çantë me një larmi të madhe pjesësh dhe modulesh që do t'ju fusin mirë në botën e Arduino Maker.

Recommended: