Come ricreare il classico gioco Pong usando Arduino

Pong è stato il primo videogioco in assoluto che ha raggiunto il mercato di massa. Per la prima volta nella storia, il concetto di un videogioco è stato portato nella casa di famiglia, grazie all'Atari 2600 - quindi è giusto che diamo un piccolo omaggio a questa gemma storica.

Pong è stato il primo videogioco in assoluto che ha raggiunto il mercato di massa.  Per la prima volta nella storia, il concetto di un videogioco è stato portato nella casa di famiglia, grazie all'Atari 2600 - quindi è giusto che diamo un piccolo omaggio a questa gemma storica.
Annuncio pubblicitario

arduino pong Pong è stato il primo videogioco in assoluto che ha raggiunto il mercato di massa. Per la prima volta nella storia, il concetto di "videogioco" è stato portato nella casa di famiglia, grazie all'Atari 2600 - quindi è giusto che diamo un piccolo omaggio a questa gemma storica. Ora, puoi rivivere quel (un po 'noioso gameplay) usando un Arduino e alcuni componenti comuni.

Non mentirò - è improbabile che tua figlia rinuncerà al suo Nintendo DS, e questo non fornirà ore di divertimento per tutta la famiglia - ma è un progetto fantastico e facile per migliorare la codifica di Arduino. E se hai appena iniziato, non dimenticare di dare un'occhiata alla nostra guida Arduino per principianti.

Creeremo due controller di base e il video verrà trasmesso alla TV tramite un cavo video composito standard.

Requisiti per Arduino Pong

  • 470 resistenza ohm x1
  • Resistenza da 1k ohm x1
  • Potenziometro da 10k ohm ( resistore variabile con doppino) x2
  • Arduino x1 (qualsiasi versione)
  • Plug RCA x1 (se ne hai più di uno, puoi collegare anche il suono. Uno per il video è un minimo indispensabile)
  • Pulsante x1
  • Resistenza da 10k ohm x1

arduino pong

Dovrai anche scaricare la libreria TV Out Arduino da qui - scarica TVoutBeta1.zip, l'ultima versione. Collocare le cartelle risultanti nella directory / arduino / libraries e riavviare l'IDE Arduino se è già aperto.

Test TV Out

Prendi la spina RCA e togli lo strato esterno. Sollevare la schermatura, torcere e mettere da parte. Questa è la tua base. Al centro dovrebbe esserci un altro cavo con schermatura in plastica - di nuovo, toglilo via in modo da avere la linea del segnale.

gioco pong arduino

Saldate sia i resistori da 470 ohm che da 1k ohm alla linea di segnale centrale della vostra spina RCA - questo fornisce un segnale di sincronizzazione e il segnale video effettivo, combinati per produrre l'ingresso video analogico. La resistenza da 470 ohm dovrebbe essere inserita nel pin IO digitale D07, mentre la resistenza da 1k ohm va al pin D09.

Questi pin sono impostati dalla libreria che importiamo, quindi non puoi cambiarli. Uno dei tuoi pin Arduino GND dovrebbe andare alla schermatura (all'esterno) della RCA.

gioco pong arduino

Ora puoi andare avanti e caricare un esempio; sebbene siano forniti sia PAL che NTSC, non dovrebbe interessare le moderne TV digitali: la demo NTSC ha funzionato bene per me, nonostante sia nel Regno Unito. Collegati alla tua TV e dovresti ottenere un delizioso cubo 3D retrò. Oooooh sì - sei ancora eccitato? Sono.

gioco pong arduino

Test degli ingressi del potenziometro analogico

Ok, abbiamo l'uscita TV funzionante, ora proviamo con i controller. Il cablaggio dei "vasi" non è così critico: ognuno dovrebbe avere 3 pin, e quello centrale produce quasi sempre il segnale di uscita. Collegalo a A0 e A1 (uno per ogni piatto). Su uno dei piedini laterali - non importa quale - cablare + 5V. L'altro pin sull'altro lato dovrebbe andare a terra.

Qui li ho posizionati entrambi rivolti verso l'altro su un'unica breadboard, perché ho solo fili corti. Per un prodotto levigato, ti consigliamo di utilizzare un vecchio cavo di rete per darti un po 'di distanza (in modo da poter sedere sul divano per giocare).

progetto di arduino pong

Successivamente, carica uno degli schizzi di esempio di base forniti con Arduino - quello di ingresso analogico. Questa demo lampeggerà più velocemente o più lentamente il LED di bordo, a seconda dell'input di A0.

Non prova l'altro piatto A1, ma se hai A0 cablato correttamente, allora non riesco a vedere come potresti commettere un errore su A1, quindi supponiamo che sia tutto a posto e vai avanti.

Aggiungi un interruttore di avvio

Infine, aggiungeremo un interruttore di avvio su D02. Fare riferimento allo schema elettrico qui per come farlo. Questo interruttore verrà utilizzato per avviare il gioco quando ci si trova nel menu.

progetto di arduino pong

Il codice Pong

Stiamo usando un codice scritto originariamente da Lamonica, modificato da duboisvb per due giocatori e aggiornato da me stesso per utilizzare l'ultima versione beta della libreria di uscita TV. È possibile visualizzare e scaricare il codice da questo pastebin.

È un codice piuttosto lungo ma semplice che non dovrebbe richiedere alcuna spiegazione da parte mia. Come la maggior parte dei giochi, si basa su uno stato di gioco (menu, in-game, game over) e legge i valori di input di entrambi i controller e l'interruttore ogni iterazione del ciclo. Oltre a ciò ci sono i metodi per disegnare lo schermo, la palla, i paddle e la logica del gioco.

progetto di arduino pong

Nota che il codice include anche l'uscita audio : non sono riuscito a trovare altri plug RCA per testarlo, ma se ne hai uno, quindi collegare il pin del segnale direttamente a D11, e dovresti ottenere dei bei toni retrò.

arduino pong

Ad essere onesti, non sapevo che Arduino potesse persino fare la TV senza una codifica immensamente complessa; la libreria di uscita TV lo rende davvero facile. Anche se non ti piacciono i giochi retrò, l'utilizzo di questo TV di base è un ottimo modo per utilizzare l'attrezzatura esistente come un monitor economico. Ovviamente puoi anche produrre un colore.

Pensi di poter provare ad Arduino Pong, o magari fare il tuo remake di un videogioco retrò? Diteci nei commenti se avete!

In this article