Tabla de contenido:

Tira de LED Atari Pong Arcade Machine: 8 pasos
Tira de LED Atari Pong Arcade Machine: 8 pasos

Video: Tira de LED Atari Pong Arcade Machine: 8 pasos

Video: Tira de LED Atari Pong Arcade Machine: 8 pasos
Video: Juego PONG con tira de leds y arduino 2024, Noviembre
Anonim
Tira de LED Atari Pong Arcade Machine
Tira de LED Atari Pong Arcade Machine

Mi nombre es Gabriel Podevin y este es mi primer intructable. Actualmente soy un estudiante de secundaria de 16 años al que le encanta crear y construir cosas mientras me interesa mucho la electrónica, la robótica, los circuitos y la programación. Espero que pueda encontrar este intructable y este útil.

En este instructivo, te mostraré cómo hacer un juego de Atari Pong de estilo retro dentro de una caja de arcade retro. Puede ver el video de arriba para una demostración del proyecto, también puede ver el proyecto terminado y el caso solo y en las dos imágenes. Al final de este intructable, profundizaré en el código y cómo editarlo para personalizarlo.

La lista básica de piezas se dividirá en las secciones: Herramientas, piezas de montaje y componentes.

Las herramientas que necesitará incluirán lo siguiente:

- Taladro

- Soldador

- Destornillador (a juego con los tornillos que decida utilizar)

- Multímetro

- sierra circular, sierra de cinta o cortadora láser si tiene acceso a una

-Cortador de alambre o tijeras

- Pistola de pegamento

Las piezas que necesitará para el montaje incluirán

- Pegamento de madera

- 10 bloques de madera de una pulgada por una pulgada

- hoja grande de madera contrachapada de un cuarto de pulgada o madera de su elección

- 24 tornillos de media pulgada de largo

- 14 x 6.5 pulgadas de plástico difusor de led (opcional)

- cinta aislante roja y azul

Los componentes que necesitará son:

- 2 potenciómetros de 100k ohmios

- 8 metros de tira Led direccionable individualmente (30 leds por metro)

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

- varios metros de alambre o varios colores de alambre

- Adaptador de alimentación de CA a CC que emite 6 V a través de un conector de barril

- 1 arduino Uno R3

Si no tiene acceso a un Arduino Uno R3 como yo, puede construir uno como el que usaré en este proyecto, que usa un procesador atmel328-pu. Siga este enlace para aprender cómo construir su propio

Si está utilizando un arduino uno, continúe con el paso uno.

Paso 1: construcción de la matriz de LED

Construyendo la matriz de LED
Construyendo la matriz de LED
Construyendo la matriz de LED
Construyendo la matriz de LED
Construyendo la matriz de LED
Construyendo la matriz de LED

Este paso es el paso más simple que requiere mucho tiempo debido a todas las soldaduras que debe realizar.

-Para empezar, necesitará una pieza de madera de 10 3/4 pulgadas por 6 1/2 pulgadas.

-Una vez que tenga su pieza de madera, tome su tira de LED y corte 26 segmentos cada 10 LED o cada 6 1/2 de pulgada.

-Después de cortar los segmentos, péguelos a su madera verticalmente como se muestra en las siguientes imágenes que se muestran en la primera imagen de arriba.

-Una vez que hayas pegado las tiras y dejas que se asienten, comenzaremos a soldar.

-Necesitarás tres cables de diferentes colores

-Debe estar cableado con todos los positivos conectados a un cable y todos los negativos conectados a un cable, mientras que el último cable unirá las tiras de led. Las segundas imágenes al comienzo de este paso son un diagrama que le mostrará cómo conectar los cables.

-Finalmente, después de haberlos soldado, simplemente envolverá una tira de electricidad en sus conexiones de soldadura con los colores correspondientes. como se muestra en la tercera imagen de arriba.

-Por último nos conectaremos al Arduino. su entrada digital o su cable intermedio se conectará a su entrada digital de 6 pines y su tierra y positivo se conectarán a los rieles positivo y negativo en la placa.

Paso 2: los controles de paleta

Los controles de paleta
Los controles de paleta
Los controles de paleta
Los controles de paleta
Los controles de paleta
Los controles de paleta

Para este paso tan simple, todo lo que tendrá que hacer es soldar tres cables a cada potenciómetro. Si sostiene el potenciómetro con los puntos de soldadura mirando hacia afuera, la punta izquierda será positiva, la punta central será salida y la punta derecha estará conectada a tierra. como se muestra en el diagrama de arriba

Una vez que haya soldado los cables, los conectaremos al Arduino. lo positivo y lo negativo se conectarán a las correspondientes lluvias positivas y negativas. Los cables de salida en los potenciómetros se conectarán a diferentes entradas en el arduino. uno se conectará al enchufe (A0) y el otro se conectará al enchufe (A1).

Paso 3: corte de la carcasa

Cortar el caso
Cortar el caso
Cortar el caso
Cortar el caso
Cortar el caso
Cortar el caso
Cortar el caso
Cortar el caso

esta parte le dará las dimensiones y ángulos de lo que necesitará cortar

**** muy importante ***** asegúrese de que la madera tenga un grosor de un cuarto de pulgada (1/4 de pulgada)

También cuando corte partes recuerde etiquetar sus partes

la parte básica a cortar se rotulará inferior, posterior, superior, frontal superior, frontal inferior…. se muestra en las imágenes al principio

dimensiones de la pieza

- Abajo: 13 3/4 pulgadas X 10 1/4 pulgadas

- Atrás: 13 3/4 pulgadas X 15 1/2 pulgadas

- Superior: 13 3/4 pulgadas X 6 1/2 pulgadas

- Parte inferior delantera: 13 3/4 pulgadas X 4 1/4 pulgadas

- Panel de marcación: 13 3/4 pulgadas X 6 pulgadas

- Parte superior interior: 13 3/4 pulgadas X 3 1/4 pulgadas

- Revestimiento LED: 6 1/4 pulgadas X 1 pulgada (corte dos de estos)

- Fondo interior LED: 13 1/4 pulgadas X 4 1/2 pulgadas

- Panel LED trasero interior: 13 1/4 pulgadas X 9 pulgadas

- Bloques: 1 pulgada X 1 pulgada X 1 pulgada (corte 10 bloques)

- Panel acrílico: 13 3/4 pulgadas X 6 1/2 pulgadas

Las imágenes de arriba le mostrarán los ángulos y las dimensiones de la parte del panel lateral. también tendrás que cortar dos de esta parte

Paso 4: Ensamblaje de la caja

Ensamblaje de la caja
Ensamblaje de la caja
Ensamblaje de la caja
Ensamblaje de la caja
Ensamblaje de la caja
Ensamblaje de la caja

En este punto de estas instrucciones, casi ha terminado todo. Pon tu probablemente pensando que tengo todas estas partes y recortes, ¿qué hago con ellos? Este último paso le indicará cómo armar su estuche.

-Lo primero que vamos a hacer es empezar a armar la maleta. aquí es donde todos los recortes de madera del paso anterior son útiles.

-Para comenzar el montaje vamos a necesitar 4 de los bloques de madera de 1x1x1 la base, los dos paneles laterales, el trasero y el frontal inferior. coloque los 4 bloques en cada esquina de la parte inferior y deje un cuarto de pulgada entre el borde y el bloque como se muestra en la segunda imagen al principio del escalón.

-A continuación, deberá perforar algunos orificios piloto a través de la madera y los bloques. una vez que haya hecho ese tornillo, luego hasta el fondo.

-A continuación nos pondremos los paneles laterales. Coloque los paneles en el espacio de un cuarto de pulgada en el lado exterior del bloque. Perfore un orificio piloto a través del panel lateral y el bloque de madera y atornille los paneles. Repita para el otro lado.

-Después de completar los paneles laterales. colocaremos el panel frontal inferior. Coloque el panel al ras con la parte inferior y los lados, taladre los orificios guía en los bloques y atornille el panel.

-Finalmente nos estaremos poniendo la espalda. haga lo mismo que hizo con el panel frontal inferior y vuelva a atornillarlo.

-En este punto, tiene una base sobre la que construir y una comprensión de cómo estamos armando este caso.

-La siguiente parte es un poco más desafiante debido al hecho de que está trabajando con un área más pequeña. para empezar necesitaremos todas las partes superiores y 6 bloques.

-Coloque lo que ha construido hasta ahora en su parte posterior y coloque los bloques en las esquinas a un cuarto de pulgada de la parte superior. (como se muestra en la tercera imagen al principio)

-taladre los orificios guía para los lados y la parte posterior y atorníllelos.

-Ahora montaremos el resto de la tapa

-Toma tu panel superior y colócalo sobre los bloques, taladra los orificios piloto y atornilla la parte superior. Después de eso, dale la vuelta a tu conjunto *** con cuidado *** y coloca un bloque en cada esquina paralelo al borde. Perfore orificios piloto en los paneles laterales y atorníllelos al bloque. gire la caja hacia atrás y perfore orificios piloto a través de la parte superior en los bloques y atorníllela.

-Esta parte del nido es un poco complicada. necesitará su panel frontal superior y los dos últimos bloques. Primero taladre agujeros piloto en los bloques anteriores a través de su panel frontal superior y atorníllelo. Ahora tome los dos últimos bloques y colóquelos adentro en la esquina y atornille el panel lateral y el panel frontal superior a los bloques. una vez más, voltee la caja al revés y coloque el panel superior interior en el bloque y atorníllelo.

-Debería quedarse con algo como esto (que se muestra en la primera imagen de este paso)

el siguiente paso explicará el resto del montaje.

Paso 5: Finalización del montaje

Terminando el montaje
Terminando el montaje
Terminando el montaje
Terminando el montaje
Terminando el montaje
Terminando el montaje

En este punto, ya casi ha completado el caso y la construcción, solo algunas cosas para poner en su lugar y habrá terminado.

Ahora todo lo que queda es instalar la electrónica.

-Comenzaremos perforando agujeros en el panel de su dial para su potenciómetro. siéntase libre de perforar los agujeros donde sienta que sería cómodo. en mi caso, coloqué los agujeros a 2 1/2 pulgadas de la parte inferior y 3 1/2 pulgadas del lado para ambos potenciómetros.

-Una vez que haya perforado los agujeros, colocaremos este panel en la caja. pero en lugar de atornillarlo, lo pegaremos, simplemente coloque una cantidad generosa de pegamento a lo largo del borde de la caja y coloque el panel y sujételo con algunas abrazaderas o algo pesado.

-Después de que el pegamento haya terminado de secarse, colocaremos las partes electrónicas. Pero primero tendremos que quitar el panel trasero.

-Una vez que se quita la parte posterior, le recomiendo que coloque la carcasa de frente hacia abajo para que sea más fácil colocar los LED y otros componentes en el interior.

-Ahora que tienes el back off colocaremos el potenciómetro dentro de la carcasa simplemente metiéndolos por los orificios que acabamos de taladrar y poniendo una generosa cantidad de pegamento termofusible.

*** precaución *** - Tenga mucho cuidado al colocar la matriz de LED porque los puntos de soldadura pueden ser frágiles.

-Ahora hemos llegado a la parte más importante, colocando la matriz de leds. simplemente coloque el tablero como se muestra en la segunda imagen.

-Una vez dentro, obtenga su panel interior de LED y colóquelo dentro de la carcasa directamente debajo del panel posterior de la matriz de LED. esta pieza podría quedar bien ajustada. también déjelo secar antes de continuar.

-Has llegado a la última parte. Recomiendo pintar un lado de esta parte final (LED Inner Back) negro o blanco para un contraste entre los LED y esta parte.

-Sabremos colocar esto directamente detrás del respaldo del LED y presionar ligeramente contra la parte posterior de los LED para evitar que se muevan. una vez colocado, aplique pegamento a lo largo del borde para evitar que se mueva. se muestra en la tercera imagen.

**** ¡¡¡Felicidades has terminado todo el montaje !!!

continúa con el último paso para codificar el juego

Paso 6: el código

Felicitaciones una vez más por llegar tan lejos.

en esta sección le mostraré el código y cómo hacer que funcione, además de las cosas en el código que puede cambiar y personalizar.

pero antes de entrar en eso, necesitará el (adafruit_NeoPixel-master). También he vinculado la descarga.

para instalar el maestro abre tu programa arduino

1. ir al boceto

2. abrir incluir biblioteca

3. haga clic en (agregar biblioteca zip)

4.seleccione el archivo (adafruit_NeoPixel-master) y listo

debajo de esto he pegado el código del juego.

#incluir

#incluir

bola largaXabs = 12;

ballYabs largo = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

int index;

int fps = 50;

int ancho de paleta = 3;

int paddlemax = 9 - ancho de paleta + 1;

int knobseg = 1023 / (paddlemax);

int paddle1 = 4;

int paddle2 = 4;

#define NUMPIXELS 260

#define PIN 6

Adafruit_NeoPixel píxeles = Adafruit_NeoPixel (NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);

configuración vacía () {

pixels.begin ();

Serial.begin (9600);

}

bucle vacío () {

pantalla clara();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pixels.show ();

detectCollision ();

retraso (fps);

}

void clearScreen () {

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

píxeles.setPixelColor (i, píxeles. 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) {// choca contra la pared derecha

Serial.println ("CollisionX");

score1 (); // bolaX * = - 1;

}

if (ballvelX <0 && ballXabs <= 0) {// choca contra la pared izquierda

Serial.println ("CollisionX");

score2 (); // bolaX * = - 1;

}

if (ballvelY> 0 && ballYabs> = 9) {// colisiona con la pared superior

Serial.println ("ColisiónY"); ballvelY * = -1;

}

if (ballvelY <0 && ballYabs <= 0) {// choca contra la pared inferior

Serial.println ("ColisiónY");

ballvelY * = -1;

}

// detecta la colisión de la paleta 2

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

{// chocar contra la pared derecha

Serial.println ("CollisionPaddle");

ballvelX * = -1;

}

// detecta la colisión de la paleta 1

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

{// chocar contra la pared derecha

Serial.println ("CollisionPaddle");

ballvelX * = -1;

}

}

void updatePaddle1 () {

perilla int = analogRead (A0);

paddle1 = round (perilla (larga) / perilla (larga) seg.);

}

void updatePaddle2 () {

int knob2 = analogRead (A1);

paddle2 = round ((largo) knob2 / (largo) knobseg);

}

void displayBall () {

ballX = redondo (ballXabs);

ballY = redondo (ballYabs);

si (ballX% 2! = 0) {

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

si (bolaX! = 0) {

pixels.setPixelColor (ballY + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // lado izquierdo de ballcolor

}

if (bolaX! = 25) {píxeles.setPixelColor (bolaY + 10 * (bolaX + 1), píxeles. Color (30, 0, 0)); // lado derecho del color de la bola

}

if (ballY! = 9) {píxeles.setPixelColor (índice - 1, píxeles. Color (30, 0, 0)); // lados inferiores del color de la bola

}

if (ballY! = 0) {píxeles.setPixelColor (índice + 1, píxeles. Color (30, 0, 0)); // lados superiores del color de la bola

}

}

demás {

índice = bolaY + 10 * bolaX; si (bolaX! = 0) {

píxeles.setPixelColor ((9 - bolaY) + 10 * (bolaX - 1), píxeles. Color (30, 0, 0)); // lado izquierdo de la bola fila uniforme

}

si (bolaX! = 25) {

píxeles.setPixelColor ((9 - bolaY) + 10 * (bolaX + 1), píxeles. Color (30, 0, 0)); // lado derecho de la bola fila uniforme

}

if (ballY! = 9) {

píxeles.setPixelColor (índice + 1, píxeles. Color (30, 0, 0)); // lados inferiores de la bola fila uniforme

}

if (ballY! = 0) {píxeles.setPixelColor (índice - 1, píxeles. Color (30, 0, 0)); // lados superiores de la bola fila uniforme

}

}

pixels.setPixelColor (índice, pixels. Color (255, 0, 0)); /// centro del color de la bola

}

void displayPaddle1 () {

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

}

}

void displayPaddle2 () {

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

}

}

void score1 () {

resetBall (0);

}

void score2 () {

resetBall (1);

}

void resetBall (int player) {

retraso (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = jugador? 1: -1;

ballvelY = 1;

pantalla clara();

retraso (1000);

displayBall ();

pixels.show ();

retraso (1000);

displayPaddle1 ();

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

Paso 7: acabado

Refinamiento
Refinamiento

Una vez que haya cargado el código, taladre un agujero en el panel posterior lo suficientemente grande para su adaptador de corriente de gato de barril. conéctelo al arduino y finalmente vuelva a montar la parte posterior.

También incluí en la lista de piezas el difusor de acrílico LED que ahora puede colocar sobre los LED y pegarlo.

Una vez hecho esto, estará listo para jugar y disfrutar de las horas de juegos competitivos contra familiares y amigos.

Por último, me gustaría felicitarlo por completar el proyecto.

Si tiene algún problema, comuníquese conmigo aquí y me encantaría ayudarlo a resolver el problema.

Recomendado: