Sommario:

Console portatile Arduino Pong: 6 passaggi (con immagini)
Console portatile Arduino Pong: 6 passaggi (con immagini)

Video: Console portatile Arduino Pong: 6 passaggi (con immagini)

Video: Console portatile Arduino Pong: 6 passaggi (con immagini)
Video: Costruisco una CONSOLE da RETROGAMING a BASSO COSTO 🎮 con Raspberry Pi4 2024, Dicembre
Anonim
Console portatile Arduino Pong
Console portatile Arduino Pong

DFRobot mi ha contattato di recente, chiedendomi di utilizzare la loro speciale scheda Arduino Nano e OLED. All'inizio volevo creare una bici intelligente e l'ho costruita nella sua interezza. Ma sfortunatamente il Nano era troppo debole per eseguire e memorizzare l'enorme schizzo che era necessario. Così ho deciso di rivisitare uno dei miei progetti precedenti, una matrice Neopixel che eseguiva un gioco Pong. Volevo invece renderlo portatile e un OLED da 1,7 pollici sarebbe stato un display perfetto.

Elenco delle parti:

  • Arduino nano
  • OLED
  • Altoparlante

Passaggio 1: video

Image
Image

Passaggio 2: progettare il gioco

Progettare il gioco
Progettare il gioco

Per questo gioco di Pong ho voluto mantenerlo relativamente semplice, il che significava non utilizzare paddle controllati dal computer o algoritmi di riflessione della palla fantasiosi. Fondamentalmente, c'è una singola racchetta che un utente può spostare su o giù, e far collidere la palla con la racchetta farebbe sì che il suo vettore dell'asse x si capovolga. Ogni volta che la palla viene colpita, viene riprodotto un suono. Quando il dispositivo di gioco è acceso, viene visualizzata una schermata con il titolo del gioco e le istruzioni. Inoltre, mia madre ha creato una piccola sigla che va in loop in sottofondo finché non viene premuto il pulsante in alto.

Passaggio 3: progettazione del dispositivo di gioco

Progettare il dispositivo di gioco
Progettare il dispositivo di gioco
Progettare il dispositivo di gioco
Progettare il dispositivo di gioco
Progettare il dispositivo di gioco
Progettare il dispositivo di gioco
Progettare il dispositivo di gioco
Progettare il dispositivo di gioco

Il mio programma CAD preferito è Fusion 360, quindi ho deciso di usarlo per progettare il mio dispositivo di gioco pong. Ho iniziato progettando ogni componente utilizzato: un OLED, Arduino Nano e un altoparlante. In questo modo posso vedere esattamente dove e come ogni componente dovrebbe adattarsi all'interno del contenitore. Ho quindi messo il Nano e il PCB nella parte posteriore del case e l'OLED sopra di esso. Poi c'era la domanda su dove mettere l'altoparlante ei pulsanti. Ho deciso che l'altoparlante da 3 W poteva andare appena sotto lo schermo (guardandolo dall'alto) e ciò richiedeva anche di mettere una "griglia" sull'altoparlante in modo che il suono non fosse attutito. Infine, ho aggiunto due pulsanti sul lato sinistro per aggiungere controlli.

Passaggio 4: costruzione del dispositivo

Costruzione del dispositivo
Costruzione del dispositivo
Costruzione del dispositivo
Costruzione del dispositivo
Costruzione del dispositivo
Costruzione del dispositivo

Ho iniziato stampando in 3D ogni parte, composta dalla metà inferiore, dalla metà superiore e da 2 pulsanti. Successivamente ho saldato un connettore femmina al 4x6cm e l'ho collegato al Nano. Ciò non solo consente di rimuovere facilmente l'OLED, ma lo eleva anche sopra l'Arduino Nano. Controllare lo schema per informazioni sul cablaggio. Quindi ho collegato i due pulsanti, insieme a una semplice scheda breakout micro USB per l'alimentazione. Anche l'altoparlante è stato attaccato e posizionato nella posizione corretta. Il design del mio Fusion 360 consente di utilizzare viti a macchina da 3 mm per tenere premuto l'OLED, l'altoparlante e collegare le due metà del dispositivo. Ma dovevo renderli esatti, quindi ho usato il mio trapano a colonna per praticare 8 fori: 2 per l'altoparlante, 2 per lo schermo e 4 sotto. Puoi visitare il collegamento Thingiverse per i file.

Passaggio 5: programmazione del gioco

L'uso di un'interfaccia semplice era vitale per mantenere piccolo il programma. Ho iniziato aggiungendo diverse librerie: Adafruit_GFX, Adafruit_SSD1351 e la libreria Arduino Timer. Successivamente ho definito i miei pin e colori, come i pin dell'OLED e le definizioni dei colori a 16 bit. Nel mio codice ci sono anche 4 modi per cambiare il modo in cui il gioco si svolge, come cambiare le dimensioni della racchetta e la velocità con cui si muove la pallina. Esiste quindi una sezione in cui viene definita ciascuna variabile, compreso il punteggio e le varie coordinate. Ogni volta che il dispositivo viene acceso, sullo schermo appare l'immagine di una palla e del testo, insieme a una piccola sigla che è definita in precedenza nel codice. Una volta avviato il gioco, vengono creati due timer, uno che aggiorna la racchetta e l'altro che aggiorna la palla. Ogni volta che la posizione della palla si aggiorna, le sue coordinate vengono controllate per assicurarsi che non superi il bordo dello schermo o se tocchi una racchetta. Ogni volta che rimbalza, il suo asse x o y viene invertito e viene riprodotto un piccolo tono. Guarda il video all'inizio di questo articolo per vedere come funziona il gioco.

Passaggio 6: giocare a Pong

Giocando a Pong!
Giocando a Pong!
Giocando a Pong!
Giocando a Pong!
Giocando a Pong!
Giocando a Pong!
Giocando a Pong!
Giocando a Pong!

Il nome del gioco è ottenere il punteggio più basso possibile. Non c'è limite di tempo, quindi è molto divertente e persino induce alla trance. Tutto ciò che è necessario è premere uno dei due pulsanti per spostare la racchetta verso l'alto o verso il basso. È anche possibile aggiungere un modo per memorizzare il punteggio più alto utilizzando l'EEPROM di Arduino.

Consigliato: