Taula de continguts:

Màquina d'arcade Atari Pong de tira LED: 8 passos
Màquina d'arcade Atari Pong de tira LED: 8 passos

Vídeo: Màquina d'arcade Atari Pong de tira LED: 8 passos

Vídeo: Màquina d'arcade Atari Pong de tira LED: 8 passos
Vídeo: 😎 Como fazer um Video Game Retrô muito barato. E como instalar facinho o Retropie no RaspberryPi. 2024, Desembre
Anonim
Màquina d'arcade Atari Pong de tira LED
Màquina d'arcade Atari Pong de tira LED

Em dic Gabriel Podevin i aquest és el meu primer intructable. Actualment sóc un estudiant de secundària de 16 anys que li encanta crear i construir coses alhora que està molt interessat en l'electrònica, la robòtica, els circuits i la programació. Espero que us sigui útil aquesta informació intructable.

En aquest instructiu us mostraré com fer un joc Atari Pong d’estil retro dins d’una funda arcade retro. Podeu veure el vídeo anterior per a una demostració del projecte, també podeu veure el projecte acabat i el cas sol i a les dues imatges. Al final d'aquest intructable, aprofundiré en el codi i en com editar-lo per personalitzar-lo.

La llista de peces bàsiques es dividirà en les seccions: Eines, peces de muntatge i components

Les eines que necessitareu inclouran les següents:

- Trepant

- Soldador

Tornavís (coincideix amb els cargols que decidiu utilitzar)

- Multímetre

- La serra que circula, la serra de cinta o el tallador làser és que hi teniu accés

-Talladora de fil o tisores

- Pistola de cola

Les parts que necessitareu per al muntatge inclouran

- Cola per a fusta

- 10 blocs de fusta d'una polzada per polzada

- Làmina gran de fusta de capes de quart de polzada o fusta que trieu

- 24 cargols de mitja polzada de longitud

- 14 x 6,5 polzades de plàstic difusor de leds (opcional)

- Cinta elèctrica vermella i blava

Els components que necessiteu són:

- 2 potenciòmetres de 100 k ohmis

- 8 metres de tira LED dirigible individualment (30 leds per metre)

www.amazon.ca/ALITOVE-WS2812B-Individual-Addressable-Waterproof/dp/B018XAELE4/ref=sr_1_1?s=hi&ie=UTF8&qid=1535323567&sr=1-

- diversos metres de filferro o múltiples colors de filferro

- Adaptador de corrent altern a corrent continu que genera 6 v a través d’un endoll jack de barril

- 1 arduino Uno R3

si no teniu accés a un Arduino Uno R3 com jo, en podeu construir un com el que faré servir en aquest projecte que utilitza un processador atmel328-pu. Seguiu aquest enllaç per aprendre a crear el vostre propi

Si utilitzeu un arduino uno, continueu amb el primer pas.

Pas 1: Construir el LED Array

Construint el LED Array
Construint el LED Array
Construint el LED Array
Construint el LED Array
Construint el LED Array
Construint el LED Array

Aquest pas és el pas més senzill que consumeix temps, a causa de tota la soldadura que heu de fer.

-Per començar, necessitareu un tros de fusta de 10 3/4 polzades per 6 1/2 polzades.

-un cop tingueu el tros de fusta, agafeu la tira LED i talleu 26 segments cada 10 leds o cada 6 1/2 de polzada.

-Després de tallar els segments, enganxeu-los a la fusta verticalment, tal com es mostra a les imatges següents que es mostren a la primera imatge superior.

-un cop hagueu enganxat les tires i les deixeu assentar, començarem a soldar.

-Necessitareu tres fils de colors diferents

-S’ha de connectar amb tots els aspectes positius que es connectin a un cable i tots els negatius que es connectin a un cable mentre que l’últim cable unirà les tires LED. Les segones imatges al començament d’aquest pas són un diagrama que us mostrarà com connectar els cables.

-Finalment, després d'haver-los soldat, simplement embolicareu una tira d'electricitat a les connexions de soldadura amb els colors corresponents. tal com es mostra a la tercera imatge superior.

-per últim ens connectarem a l'Arduino. la vostra entrada digital o el cable intermedi us connectaran amb 6 pins d’entrada digital i la vostra terra i positiu es connectaran als rails positius i negatius de la placa.

Pas 2: els controls de pàdel

Els controls de pàdel
Els controls de pàdel
Els controls de pàdel
Els controls de pàdel
Els controls de pàdel
Els controls de pàdel

Per a aquest pas tan senzill, només haureu de soldar tres cables a cada potenciòmetre. si manteniu el potenciòmetre amb els punts de soldadura mirant cap amunt, la puntera esquerra serà positiva, la punta central que es produeix i la punta dreta es molrà. tal com es mostra al diagrama anterior

un cop hàgiu soldat els cables, els connectarem a l'Arduino. els positius i els negatius es connectaran a les corresponents pluges positives i negatives. els cables de sortida dels potenciòmetres es connectaran a diferents entrades de l’arduino. un es connectarà al endoll (A0) i l’altre es connectarà al endoll (A1).

Pas 3: tallar la caixa

Tallant la caixa
Tallant la caixa
Tallant la caixa
Tallant la caixa
Tallant la caixa
Tallant la caixa
Tallant la caixa
Tallant la caixa

aquesta part us proporcionarà les dimensions i els angles en què haureu de tallar

**** molt important ***** assegureu-vos que la vostra fusta tingui un gruix d'un quart de polzada (1/4 de polzada)

també quan retalleu les peces, recordeu etiquetar les peces

la part bàsica a tallar serà l'etiqueta inferior, posterior, superior, frontal superior, frontal inferior … que es mostra a les imatges al principi

dimensions de la peça

Part inferior: 13 3/4 polzades X 10 1/4 polzades

Darrera: 13 3/4 polzades X 15 1/2 polzades

Part superior: 13 3/4 polzades X 6 1/2 polzades

Part inferior: 13 3/4 polzades X 4 1/4 polzades

Tauler de marcatge: 13 3/4 polzades X 6 polzades

Part superior: 13 3/4 polzades X 3 1/4 polzades

Revestiment LED: 6 1/4 polzades X 1 polzada (talla'n dues)

Fons interior LED: 13 1/4 polzades X 4 1/2 polzades

Panell LED posterior posterior: 13 1/4 polzades X 9 polzades

Blocs: 1 polzada X 1 polzada X 1 polzada (tallar 10 blocs)

Panell acrílic: 13 3/4 polzades X 6 1/2 polzades

Les imatges anteriors us mostraran els angles i les dimensions de la part del tauler lateral. també haureu de tallar-ne dues

Pas 4: Muntatge de casos

Muntatge de casos
Muntatge de casos
Muntatge de casos
Muntatge de casos
Muntatge de casos
Muntatge de casos

En aquest punt, en aquestes instruccions ja gairebé heu acabat tot. posa el teu probablement pensant que tinc totes aquestes parts i retalls què faig amb elles. Aquest darrer pas us indicarà com muntar el vostre cas.

-El primer que anem és començar a muntar el cas. aquí és on us resulten útils tots els retalls de fusta del pas anterior.

-Per començar el muntatge necessitarem 4 dels blocs de fusta 1x1x1 de la base, els dos panells laterals, la part posterior i la part inferior frontal. col·loqueu els 4 blocs a cada cantonada de la part inferior i deixeu un quart de polzada entre la vora i el bloc tal com es mostra a la segona imatge a la petició del pas.

-A continuació, haureu de perforar alguns forats pilot a través de la fusta i els blocs. un cop hagueu fet aquest cargol fins a la part inferior.

-A continuació posarem els panells laterals. Col·loqueu els panells a la bretxa de quart de polzada al costat exterior del bloc. perforar un forat pilot a través del tauler lateral i del bloc de fusta i cargolar-los. Repetiu-ho per l'altre costat.

-Després de completar els panells laterals. col·locarem el tauler inferior frontal. col·loqueu el tauler a ras de la part inferior i els laterals perforen els forats pilot als blocs i cargoleu-lo.

-Finalment, posarem l'esquena. feu el mateix que vau fer amb el tauler inferior inferior i torneu a cargolar-lo.

-Aquest punt teniu una base per aprofitar-la i una comprensió de com muntem aquest cas.

-La següent part és una mica més difícil, ja que treballa amb una àrea més petita. per començar necessitarem totes les parts superiors i 6 blocs.

-Deseu el que heu construït fins ara a la part posterior i col·loqueu els blocs a les cantonades a un quart de polzada de la part superior. (com es mostra a la tercera imatge al principi)

-Perforar els forats pilot dels laterals i del darrere i cargolar-los.

-ara muntarem la resta de la part superior

-Agafeu el tauler superior i col·loqueu-lo als blocs. Traieu els forats pilot i cargoleu-ne la part superior. Després de finlandès, capgireu el conjunt *** acuradament *** i col·loqueu un bloc a cada cantonada paral·lel a la vora. perforar els forats pilot dels panells laterals i cargolar-los al bloc. gireu la caixa cap amunt i practiqueu forats pilot per la part superior als blocs i enrosqueu-la.

-Aquesta part del niu és una mica complicada. us necessitarà el tauler superior frontal i els dos darrers blocs. primer, foradeu un forat pilot als blocs anteriors a través del tauler frontal superior i enrosqueu-lo. Ara us portaran els dos blocs finals i col·loqueu-los a l'interior a la cantonada i cargoleu el tauler lateral i el tauler superior frontal als blocs. torneu a capgirar la caixa i col·loqueu el tauler superior interior al bloc i enrosqueu-lo.

-Hi hauria de quedar-se amb alguna cosa així (es mostra a la primera imatge d'aquest pas)

el següent pas explicarà la resta del muntatge.

Pas 5: Acabament del muntatge

Acabant el muntatge
Acabant el muntatge
Acabant el muntatge
Acabant el muntatge
Acabant el muntatge
Acabant el muntatge

En aquest punt ja gairebé heu completat el cas i heu construït només algunes coses per posar en marxa i ja ho tindreu.

Ara només queda instal·lar l’electrònica.

-Començarem perforant forats al tauler de marcatge per al potenciòmetre. no dubteu a perforar els forats on creieu que seria còmode. en el meu cas, tinc els forats a 2 1/2 polzades de la part inferior i 3 1/2 polzades del costat per als dos potenciòmetres.

-Un cop hàgiu perforat els forats, posarem aquest panell a la caixa. però en lloc de cargolar-lo, enganxar-lo simplement posem una gran quantitat de pega al llarg de la vora de la caixa i col·loqueu el tauler i subjecteu-lo amb unes pinces o alguna cosa pesada.

-Un cop s'hagi acabat d'assecar la cola, posarem les parts electròniques. Però primer haurem d’eliminar el panell posterior.

-Una vegada que la part posterior estigui apagada, us recomano que col·loqueu la caixa cap avall per facilitar la col·locació dels LEDs i altres components a l'interior.

-Ara teniu el respatller, col·locarem el potenciòmetre dins de la caixa simplement introduint-los pels forats que acabem de perforar i posant una gran quantitat de cola calenta.

*** precaució ***: tingueu molta precaució quan poseu la matriu LED perquè els punts de soldadura poden ser fràgils.

-Ara hem arribat a la part més important, introduint la matriu de leds. simplement col·loqueu el tauler com es mostra a la segona imatge.

-Un cop obtingueu el tauler interior led i col·loqueu-lo dins de la caixa directament sota el tauler posterior de la matriu LED. aquesta peça em podria ajustar molt. també deixeu-lo assecar abans de continuar.

-Has arribat a la darrera part. Recomano pintar una cara d'aquesta part final (LED Interior Back) en negre o blanc per a un contrast entre els LEDs i aquesta part.

-Sabrem que col·loqueu-lo directament darrere del suport LED i premeu lleugerament contra la part posterior dels LED per evitar que es moguin. un cop posat, apliqueu cola al llarg de la vora per evitar que es mogui. es mostra a la tercera imatge.

**** enhorabona que heu acabat tota l'assemblea !!!

continueu fins a l'últim pas per codificar el joc

Pas 6: el codi

Felicitats una vegada més per arribar fins aquí.

en aquesta secció us mostraré el codi i com fer-lo funcionar, a més de les coses del codi, que podeu canviar i personalitzar.

però abans que ens dediquem a això, necessitareu el (adafruit_NeoPixel-master) també he enllaçat la descàrrega.

per instal·lar el mestre obriu el vostre programa arduino

1. anar a esbós

2. obrir inclou la biblioteca

3. feu clic a (biblioteca add.zip)

4. seleccioneu el fitxer (adafruit_NeoPixel-master) i heu acabat

a continuació he enganxat el codi del joc.

#incloure

#incloure

bola llargaXabs = 12;

bola llarga Yabs = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

índex int;

int fps = 50;

int paddlewidth = 3;

int paddlemax = 9 - ample de paleta + 1;

int knobseg = 1023 / (paddlemax);

int paddle1 = 4;

int paddle2 = 4;

#define NUMPIXELS 260

#defineix el PIN 6

Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);

configuració nul·la () {

pixels.begin ();

Serial.begin (9600);

}

bucle buit () {

clearScreen ();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pixels.show ();

detectCollision ();

retard (fps);

}

void clearScreen () {

for (int i = 0; i <NUMPIXELS; i ++) {

pixels.setPixelColor (i, pixels. Color (0, 0, 0));

}

}

void updateBall () {

ballXabs + = ballvelX;

ballYabs + = ballvelY;

}

void detectCollision () {

Serial.print (ballYabs);

Serial.print ("");

Serial.println (paddle1);

if (ballvelX> 0 && ballXabs> = 25) {// xoquen a la paret dreta

Serial.println ("CollisionX");

puntuació1 (); // ballvelX * = - 1;

}

if (ballvelX <0 && ballXabs <= 0) {// xoquen a la paret esquerra

Serial.println ("CollisionX");

puntuació2 (); // ballvelX * = - 1;

}

if (ballvelY> 0 && ballYabs> = 9) {// xoquen la paret superior

Serial.println ("CollisionY"); ballvelY * = -1;

}

if (ballvelY <0 && ballYabs <= 0) {// xoquen a la paret inferior

Serial.println ("CollisionY");

ballvelY * = -1;

}

// detectar la col·lisió del pàdel 2

if ((ballvelX> 0 && ballXabs == 24) && ((ballYabs> = paddle2) && (ballYabs <= paddle2 + paddlewidth - 1)))

{// xoca la paret dreta

Serial.println ("CollisionPaddle");

ballvelX * = -1;

}

// detectar la col·lisió de la pala 1

if ((ballvelX = paddle1) && (ballYabs <= paddle1 + paddlewidth - 1)))

{// xoca la paret dreta

Serial.println ("CollisionPaddle");

ballvelX * = -1;

}

}

void updatePaddle1 () {

botó int = analogRead (A0);

paddle1 = pom rodó ((llarg) / (llarg) pom));

}

void updatePaddle2 () {

int knob2 = analogRead (A1);

paddle2 = pom rodó ((llarg) 2 / (llarg) pom));

}

void displayBall () {

pilotaX = rodona (ballXabs);

ballY = rodó (ballYabs);

if (pilotaX% 2! = 0) {

índex = (9 - bolaY) + 10 * bolaX;

if (ballX! = 0) {

pixels.setPixelColor (ballY + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // costat esquerre del ballcolor

}

if (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // costat dret del color de la bola

}

if (ballY! = 9) {pixels.setPixelColor (índex - 1, pixels. Color (30, 0, 0)); // costats inferiors del color de la bola

}

if (ballY! = 0) {pixels.setPixelColor (índex + 1, pixels. Color (30, 0, 0)); // costats superiors del color de la bola

}

}

més {

índex = bolaY + 10 * bolaX; if (ballX! = 0) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // el costat esquerre de la bola fila uniforme

}

if (pilotaX! = 25) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // costat dret de la bola fila uniforme

}

if (ballY! = 9) {

pixels.setPixelColor (índex + 1, pixels. Color (30, 0, 0)); // els costats inferiors de la bola fila uniforme

}

if (ballY! = 0) {pixels.setPixelColor (índex - 1, pixels. Color (30, 0, 0)); // els costats superiors de la bola fila uniforme

}

}

pixels.setPixelColor (índex, pixels. Color (255, 0, 0)); /// centre del color de la pilota

}

void displayPaddle1 () {

for (int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (paddle1 + i, pixels. Color (0, 0, 255));

}

}

void displayPaddle2 () {

per a (int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (NUMPIXELS - 1 - paddle2 - i, pixels. Color (0, 0, 255));

}

}

puntuació nul·la1 () {

resetBall (0);

}

puntuació buida2 () {

resetBall (1);

}

void resetBall (int player) {

retard (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = jugador? 1: -1;

bolaY = 1;

clearScreen ();

retard (1000);

displayBall ();

pixels.show ();

retard (1000);

displayPaddle1 ();

displayPaddle2 (); pixels.show (); endarreriment (2000); }

Pas 7: Acabat

Acabat
Acabat

Un cop hàgiu carregat el codi, realitzeu un forat al tauler posterior prou gran per al vostre adaptador de corrent. connecteu-lo a l'arduino i, finalment, torneu a muntar la part posterior.

També he inclòs a la llista de peces el difusor LED acrílic que ara podeu col·locar sobre els LED i enganxar-lo

Després d’haver fet això, ja podreu jugar i gaudir de les hores de jocs competitius contra familiars i amics.

Per últim, vull felicitar-vos per la realització del projecte.

Si teniu algun problema, poseu-vos en contacte amb mi aquí i m'encantaria ajudar-vos a resoldre el problema.

Recomanat: