Sommario:

POing! - Arduino Arcade Game!: 3 passaggi
POing! - Arduino Arcade Game!: 3 passaggi

Video: POing! - Arduino Arcade Game!: 3 passaggi

Video: POing! - Arduino Arcade Game!: 3 passaggi
Video: Logic Gates Learning Kit #2 - Transistor Demo 2024, Novembre
Anonim
Image
Image
PUNTO! - Gioco Arcade Arduino!
PUNTO! - Gioco Arcade Arduino!

Costruiremo un gioco arcade in stile PONG che utilizza parti del kit "The Most Complete Starter Kit UNO R3 Project" di Elegoo Inc.

Divulgazione completa - La maggior parte delle parti fornite per questo Instructable sono state fornite all'autore da Elegoo Inc.

Volevo realizzare un progetto utilizzando un modulo LED Matrix. Il display LED di base 8x8 richiede l'uso di registri a scorrimento aggiuntivi per poter indirizzare i singoli LED nella matrice. Invece, questo progetto utilizza il modulo LED MAX7219 8x8. È un modulo molto facile da usare.

Suggerirei che a causa del gran numero di collegamenti di cablaggio su questo progetto, sarebbe considerato un Instructable di livello INTERMEDIO.

Iniziamo!

Forniture

Elegoo Starter Kit Parti utilizzate (https://rebrand.ly/dvjb3w8)

  • Microcontrollore UNO R3
  • MAX7219 Modulo LED 8x8
  • Modulo display LCD 16x2
  • Potenziometro e manopola di regolazione 10K
  • Cavi Dupont
  • Resistenza 220R
  • Cicalino piezo passivo
  • Modulo di alimentazione
  • Adattatore 9V 1A - necessario perché l'UNO non è in grado di fornire una corrente sufficiente per il modulo LED 8x8
  • tagliere

Parti extra necessarie

Potenziometro lineare 2 x 10K: economico e ampiamente disponibile su eBay, AliExpress, Banggood, ecc.

Passaggio 1: cablaggio del circuito

Cablaggio del circuito
Cablaggio del circuito

Cablare il circuito secondo lo schema elettrico. Prenditi il tuo tempo. Sono necessarie MOLTE connessioni per i due display.

Notare nella foto del circuito che il modulo di alimentazione è collegato al lato sinistro della breadboard e l'adattatore CC da 9 V 1 A è collegato al modulo di alimentazione in modo che venga fornita una corrente sufficiente alla matrice LED. NESSUNA connessione tra il pin 5V sull'UNO e la breadboard. MA, il pin GND sull'UNO è collegato a GND sulla breadboard.

Ricontrolla e ricontrolla il tuo lavoro.

Passaggio 2: codice Arduino

Questa istruzione presuppone che tu sappia già come programmare in Arduino.

Scarica lo sketch Arduino allegato. Assicurati di aver aggiunto la libreria LedControl alle tue librerie Arduino. Ho usato la versione di Eberhard Fahle. Basta cercare MAX7219 nel browser Gestisci librerie e lo troverai e lo installerai.

Assicurati che il file pitches.h sia nella cartella del tuo sketch. È usato per riprodurre i suoni del gioco.

Un po' di tempismo

Poiché il comando delay() mette completamente in pausa l'esecuzione del tuo schizzo quando viene eseguito, cerchiamo invece i periodi di tempo trascorsi che si verificano quando vogliamo eseguire parti dello schizzo relative all'animazione. Cerchiamo un periodo di tempo prestabilito prima di eseguire parti dello schizzo come l'aggiornamento della posizione della palla sul display.

Più significativamente, il comando delay() viene eseguito solo nel metodo loop(). In genere non viene eseguito come previsto in altri metodi. Quindi tutti i tempi relativi all'animazione vengono eseguiti nel metodo loop().

Esempio:

Definiamo alcune variabili di tipo 'lungo' e un paio di booleani e poi li impostiamo alla fine di setup().

bSoglia = 80; // il tempo in millisecondi tra gli aggiornamenti della palla

ballTime = millis(); // imposta l'ora di sistema corrente

bon = falso; // il LED a sfera è acceso o spento?

ballReturn = falso; // stiamo restituendo una palla dopo un colpo di racchetta?

In loop() per disegnare la palla abbiamo:

if ((millis() - ballTime > bThresh) && bon == false) {// se la pallina è spenta ed è trascorso abbastanza tempo ballOn();// accendi il LED della pallina

bon = vero; // la palla ora è ON

ballTime = millis(); // reimposta il ballTime all'ora corrente

}

if ((millis() - ballTime > bThresh) && bon == true) { // se la pallina è ON ed è trascorso abbastanza tempo

pallaOff(); // spegni il LED a sfera

bon = falso; // la palla ora è OFF

ballTime = millis(); reimposta il ballTIME all'ora corrente

}

Ci sono molti modi per realizzare questo gioco. Queste sono solo le mie preferenze.

Lo sketch è completamente documentato quindi vi invito a leggere il codice per vedere come funziona.

Controlla, compila e carica il tuo codice.

Divertiti a giocare!

Passaggio 3: conclusione

Conclusione
Conclusione
Conclusione
Conclusione

I miei ringraziamenti vanno a Elegoo Inc per aver fornito lo starter kit utilizzato in questo progetto. È un kit con una grande varietà di parti e moduli che ti farà entrare nel mondo di Arduino Maker.

Consigliato: