Cuprins:

POING! - Joc Arcade Arduino !: 3 pași
POING! - Joc Arcade Arduino !: 3 pași
Anonim
Image
Image
POING! - Joc Arcade Arduino!
POING! - Joc Arcade Arduino!

Vom construi un joc arcade în stil PONG care utilizează piese din kitul „The Most Complete Starter Kit UNO R3 Project” de la Elegoo Inc.

Dezvăluire completă - Majoritatea părților furnizate pentru acest instructabil au fost furnizate autorului de către Elegoo Inc.

Am vrut să construiesc un proiect folosind un modul LED Matrix. Afișajul LED de bază 8x8 necesită utilizarea unor registre de schimbare suplimentare pentru a putea adresa LED-urilor individuale din matrice. În schimb, acest proiect utilizează modulul MAX7219 8x8 LED. Este un modul foarte ușor de utilizat.

Aș sugera că, datorită numărului mare de conexiuni de cablare din acest proiect, ar fi considerat un nivel INTERMEDIU Instructabil.

Să începem!

Provizii

Piese utilizate pentru kitul de pornire Elegoo (https://rebrand.ly/dvjb3w8)

  • Microcontroler UNO R3
  • Modul LED MAX7219 8x8
  • Modul de afișare LCD 16x2
  • Potențiometru și buton de decupare 10K
  • Firele Dupont
  • Rezistor 220R
  • Pasiv Piezo Buzzer
  • Modul de alimentare
  • Adaptor 9V 1A - necesar deoarece UNO nu poate furniza suficient curent pentru modulul LED 8x8
  • Pană de pâine

Piese suplimentare necesare

Potențiometru liniar 2 x 10K - ieftin și disponibil pe larg pe eBay, AliExpress, Banggood etc.

Pasul 1: Cablarea circuitului

Cablarea circuitului
Cablarea circuitului

Conectați circuitul conform schemei de conectare. Nu vă grăbiți. Există MULTE conexiuni necesare pentru cele două afișaje.

Observați în fotografia circuitului că modulul de alimentare este atașat la partea stângă a panoului și că adaptorul de curent continuu 9V 1A este conectat la modulul de alimentare, astfel încât să fie furnizat suficient curent matricei LED. NICI o conexiune între pinul de 5V de pe UNO și placa de măsurare. DAR, pinul GND de pe UNO este conectat la GND de pe panou.

Verifică-ți dubla și tripla munca.

Pasul 2: Cod Arduino

Această instrucțiune presupune că știi deja cum să programezi în Arduino.

Descărcați schița Arduino atașată. Asigurați-vă că ați adăugat în biblioteca LedControl la bibliotecile dvs. Arduino. Am folosit versiunea lui Eberhard Fahle. Căutați MAX7219 în browserul Gestionare biblioteci și îl veți găsi și instala.

Asigurați-vă că fișierul pitches.h se află în dosarul schiței. Este folosit pentru redarea sunetelor din joc.

Un pic despre sincronizare

Întrucât comanda delay () întrerupe complet execuția schiței dvs. atunci când rulează, căutăm în schimb perioade de timp trecute atunci când vrem să executăm părți legate de animație ale schiței. Căutăm un timp prestabilit pentru a trece înainte de a executa părți din schiță, cum ar fi actualizarea locației mingii pe afișaj.

Mai semnificativ, comanda delay () este într-adevăr executată numai în metoda loop (). De obicei, nu se execută așa cum era de așteptat în alte metode. Deci, toate temporizările legate de animație se fac în metoda loop ().

Exemplu:

Definim câteva variabile de tip „lung” și câteva booleene și apoi le setăm la sfârșitul configurării ().

bThresh = 80; // timpul în milisecunde între actualizările mingii

ballTime = millis (); // setat la ora curentă a sistemului

bon = fals; // este LED-ul mingii pornit sau oprit

ballReturn = fals; // returnăm o minge după o lovitură cu paleta?

În bucla () pentru desenarea mingii avem:

if ((millis () - ballTime> bThresh) && bon == false) {// dacă mingea este OFF și a trecut suficient timp ballOn (); // aprinde LED-ul mingii

bon = adevărat; // mingea este acum ACTIVATĂ

ballTime = milis (); // resetați BallTime la ora curentă

}

if ((millis () - ballTime> bThresh) && bon == true) {// dacă mingea este ACTIVATĂ și a trecut suficient timp

ballOff (); // stinge LED-ul mingii

bon = fals; // mingea este acum OFF

ballTime = milis (); resetați ballTIme la ora curentă

}

Există multe modalități de a crea acest joc. Acestea sunt doar preferințele mele.

Schița este complet documentată, așa că vă invit să citiți codul pentru a vedea cum funcționează.

Verificați, compilați și încărcați codul.

Bucurați-vă de jocul dvs.!

Pasul 3: Concluzie

Concluzie
Concluzie
Concluzie
Concluzie

Mulțumirile mele sunt adresate Elegoo Inc pentru furnizarea kitului de pornire utilizat în acest proiect. Este un kit cu o mare varietate de piese și module care vă vor aduce bine în lumea Arduino Maker.

Recomandat: