Annuncio pubblicitario

Pong è stato il primo videogioco in assoluto a raggiungere il mercato di massa. Per la prima volta nella storia, il concetto di "videogioco" è stato introdotto nella casa di famiglia, grazie ad Atari 2600 - quindi è giusto che rendiamo un piccolo omaggio a questa gemma storica. Ora puoi riviverlo (certamente un gameplay un po 'noioso) usando un Arduino e alcuni componenti comuni.

Non mentirò - è improbabile che tua figlia rinuncerà al suo Nintendo DS, e questo non lo farà offrire ore di divertimento per tutta la famiglia, ma è un progetto fantastico e semplice per migliorare il tuo Arduino codifica. E se hai appena iniziato, non dimenticare di dare un'occhiata al nostro principiante Guida di Arduino Introduzione ad Arduino: una guida per principiantiArduino è una piattaforma di prototipazione elettronica open source basata su hardware e software flessibili e di facile utilizzo. È destinato ad artisti, designer, hobbisti e chiunque sia interessato a creare oggetti o ambienti interattivi. Leggi di più .

instagram viewer

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

Per portare questo progetto al livello successivo, è possibile stampare in 3D un allegato. Utente YouTube PotentPrintables fatto proprio quello!

Requisiti per Arduino Pong

  • 470 ohm resistore x1
  • 1k ohm resistore x1
  • Potenziometro da 10k ohm (resistenza a doppia variabile)x2
  • Arduinox1 (qualsiasi versione)
  • RCA spina x1 (se ne hai più di uno, puoi anche collegare il suono. Uno per il video è un minimo indispensabile)
  • Premi il bottone interruttore x1
  • 10k ohm resistore x1
arduino pong

Dovrai anche scaricare il TV Out libreria Arduino da qui - ottenere il TVoutBeta1.zip, l'ultima versione. Inserisci le cartelle risultanti tutte nel tuo /arduino/libraries directory e riavvia l'IDE di Arduino se è già aperto.

Test dell'uscita TV

Prendi la tua spina RCA e togli lo strato esterno. Raccogli la schermatura, attorciglia e mettila da parte. Questa è la tua terra. Al centro dovrebbe esserci un altro cavo con schermatura in plastica - di nuovo, togli questo in modo da avere la linea del segnale.

gioco di arduino pong

Salda i resistori da 470 ohm e 1k ohm alla linea del segnale centrale della tua spina RCA: questo fornisce un segnale di sincronizzazione e il segnale video effettivo, combinati per produrre l'ingresso video analogico. Il resistore da 470 ohm dovrebbe inserirsi nel pin IO digitale D07, mentre il resistore da 1k ohm va sul pin D09.

Questi pin sono impostati dalla libreria che importiamo, quindi non puoi cambiarli. Uno dei tuoi pin GNU Arduino dovrebbe andare alla schermatura (esterna) dell'RCA.

gioco di arduino pong

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

gioco di arduino pong

Test degli ingressi analogici del potenziometro

Ok, abbiamo fatto funzionare l'uscita TV, 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 vaso). Su uno dei pin laterali, non importa quale, collegare + 5V. L'altro perno sull'altro lato dovrebbe andare a terra.

Qui li ho messi entrambi di fronte a ciascuno su una singola breadboard, perché ho solo fili corti. Per un prodotto raffinato, ti consigliamo di utilizzare un vecchio cavo di rete per darti un po 'di distanza (in modo che tu possa effettivamente sederti sul divano per giocare).

progetto arduino pong

Successivamente, carica uno dei esempio di base schizzi forniti con Arduino, quello con ingresso analogico. Questa demo farà lampeggiare il LED di bordo più velocemente o più lentamente, a seconda dell'ingresso su A0.

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

Aggiungi un interruttore di avvio

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

progetto arduino pong

Il codice Pong

Stiamo utilizzando un codice originariamente scritto da Lamonica, modificato da duboisvb per due giocatori e aggiornato da me stesso per utilizzare l'ultima versione beta della libreria TV out. È 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 cambia ogni iterazione del loop. Oltre a ciò ci sono i metodi per disegnare lo schermo, la palla, i paddle e la logica di gioco.

progetto arduino pong

Si noti che il codice include Uscita audio anche: non sono riuscito a trovare più spine RCA per testarlo, ma se ne hai alcuni, quindi collegare il pin del segnale direttamente a D11 e dovresti ottenere alcuni piacevoli toni retrò.

arduino pong

A dire il vero, non sapevo che Arduino potesse persino fare la TV senza un codice immensamente complesso; la libreria TV out lo rende davvero facile. Anche se non ti piacciono i giochi retrò, utilizzare questa uscita TV di base è un ottimo modo per utilizzare le apparecchiature esistenti come dispositivo di monitoraggio economico. Certo che puoi colore di uscita, pure.

Pensi di provare Arduino Pong o magari di creare il tuo remake di videogiochi retrò? Dicci nei commenti se hai!

James ha una laurea in Intelligenza Artificiale ed è certificato CompTIA A + e Network +. È lo sviluppatore principale di MakeUseOf e trascorre il suo tempo libero giocando a paintball e giochi da tavolo VR. Costruisce PC da quando era un bambino.