INHOUDSOPGAWE:
Video: PUNK! - Arduino Arcade Game !: 3 stappe
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Ons bou 'n arcade-speletjie in PONG-styl wat dele uit die kit "The Most Complete Starter Kit UNO R3 Project" van Elegoo Inc.
Volle onthulling - Die meeste dele wat vir hierdie instruksie verskaf is, is aan die skrywer verskaf deur Elegoo Inc.
Ek wou 'n projek bou met behulp van 'n LED Matrix -module. Die basiese 8x8 LED -skerm vereis die gebruik van ekstra skofregisters om die individuele LED's in die matriks te kan aanspreek. In plaas daarvan gebruik hierdie projek die MAX7219 8x8 LED -module. Dit is 'n baie maklike module om te gebruik.
Ek sou voorstel dat dit, as gevolg van die groot aantal bedradingaansluitings op hierdie projek, as 'n TUSSENMIDDELIKE vlak beskou kan word.
Laat ons begin!
Voorrade
Onderdele van die Elegoo Starter Kit gebruik (https://rebrand.ly/dvjb3w8)
- UNO R3 -mikrobeheerder
- MAX7219 8x8 LED -module
- LCD 16x2 vertoonmodule
- 10K snoei potensiometer en knop
- Dupont Wires
- 220R Weerstand
- Passiewe Piezo -zoemer
- Kragvoorsieningsmodule
- 9V 1A -adapter - nodig omdat die UNO nie voldoende stroom kan verskaf vir die 8x8 LED -module nie
- Broodbord
Ekstra onderdele benodig
2 x 10K lineêre potensiometer - goedkoop en algemeen beskikbaar op eBay, AliExpress, Banggood, ens.
Stap 1: Bekabeling van die kring
Draai die kring volgens die bedradingsdiagram. Vat jou tyd. Daar is baie verbindings nodig vir die twee skerms.
Let op die foto van die stroombaan dat die kragmodule aan die linkerkant van die broodbord geheg is en dat die 9V 1A DC -aansluiting in die kragmodule gekoppel is sodat voldoende stroom aan die LED -matriks verskaf word. Daar is GEEN verbinding tussen die 5V -pen op die UNO en die broodbord nie. MAAR, die GND -pen op die UNO is gekoppel aan GND op die broodbord.
Kontroleer u werk dubbel en drie keer.
Stap 2: Arduino -kode
Hierdie instruksies veronderstel dat u reeds weet hoe om in Arduino te programmeer.
Laai die aangehegte Arduino -skets af. Maak seker dat u die LedControl -biblioteek by u Arduino -biblioteke gevoeg het. Ek het die weergawe van Eberhard Fahle gebruik. Soek net na MAX7219 in die blaaier Beheer biblioteke, en u sal dit vind en installeer.
Maak seker dat die pitches.h -lêer in die gids van u skets is. Dit word gebruik om die klanke in die spel te speel.
'N bietjie oor tydsberekening
Aangesien die opdrag delay () die uitvoering van u skets heeltemal onderbreek wanneer dit uitgevoer word, soek ons in plaas daarvan na verloop van tydsperiodes wanneer ons animasieverwante dele van die skets wil uitvoer. Ons soek 'n voorafbepaalde tyd voordat ons dele van die skets uitvoer, soos die opdatering van die plek van die bal op die skerm.
Belangriker nog, die opdrag delay () word eintlik slegs uitgevoer in die loop () -metode. Dit word gewoonlik nie uitgevoer soos verwag in ander metodes nie. Alle tydsberekening wat met animasie verband hou, word dus in die loop () -metode gedoen.
Voorbeeld:
Ons definieer 'n paar 'lang' tipe veranderlikes en 'n paar booleaners en stel dit dan aan die einde van die opstelling ().
bThresh = 80; // die tyd in millisekondes tussen balopdaterings
ballTime = millis (); // ingestel op die huidige stelseltyd
bon = vals; // is die bal -LED aan of af
ballReturn = vals; // gee ons 'n bal terug na 'n spaanhou?
In lus () om die bal te teken, het ons:
as ((millis () - ballTime> bThresh) && bon == false) {// as die bal af is en genoeg tyd verby is ballOn (); // skakel die bal -LED aan
bon = waar; // die bal is nou AAN
ballTime = millis (); // stel die ballTime terug na die huidige tyd
}
as ((millis () - ballTime> bThresh) && bon == true) {// as die bal AAN is en genoeg tyd verby is
ballOff (); // skakel die bal -LED af
bon = vals; // die bal is nou AF
ballTime = millis (); stel die ballTIme terug na die huidige tyd
}
Daar is baie maniere om hierdie speletjie te maak. Dit is net my voorkeure.
Die skets is volledig gedokumenteer, dus nooi ek u uit om die kode te lees om te sien hoe dit werk.
Kontroleer, stel op en laai u kode op.
Geniet u spel!
Stap 3: Gevolgtrekking
My dank aan Elegoo Inc vir die verskaffing van die voorgereg wat in hierdie projek gebruik is. Dit is 'n stel met 'n groot verskeidenheid onderdele en modules wat u goed in die Arduino Maker -wêreld sal bring.