Tabla de contenido:

Consola portátil Arduino Pong: 6 pasos (con imágenes)
Consola portátil Arduino Pong: 6 pasos (con imágenes)

Video: Consola portátil Arduino Pong: 6 pasos (con imágenes)

Video: Consola portátil Arduino Pong: 6 pasos (con imágenes)
Video: Como hacer una consola de videojuegos de 8bit con Arduino 2024, Junio
Anonim
Consola portátil Arduino Pong
Consola portátil Arduino Pong

DFRobot se comunicó conmigo recientemente, queriendo que usara su placa Arduino Nano especial y OLED. Al principio quería crear una bicicleta inteligente y la construí en su totalidad. Pero, desafortunadamente, el Nano era demasiado débil para ejecutar y almacenar el boceto masivo que se necesitaba. Así que decidí volver a visitar uno de mis proyectos anteriores, una matriz Neopixel que ejecutaba un juego de Pong. En su lugar, quería hacerlo portátil, y un OLED de 1,7 sería una pantalla perfecta.

Lista de piezas:

  • Arduino nano
  • OLED
  • Vocero

Paso 1: video

Image
Image

Paso 2: diseñar el juego

Diseñando el juego
Diseñando el juego

Para este juego de Pong, quería mantenerlo relativamente simple, lo que significaba que no había una paleta controlada por computadora o algoritmos de reflexión de bolas sofisticados. Básicamente, hay una sola paleta que un usuario puede mover hacia arriba o hacia abajo, y hacer que la bola choque con la paleta provocaría que el vector del eje x se voltee. Cada vez que se golpea la pelota, suena un sonido. Cuando el dispositivo de juego está encendido, aparece una pantalla con el título y las instrucciones del juego. Además, mi madre creó un pequeño tema musical que se repite de fondo hasta que se presiona el botón superior.

Paso 3: diseño del dispositivo de juego

Diseño del dispositivo de juego
Diseño del dispositivo de juego
Diseño del dispositivo de juego
Diseño del dispositivo de juego
Diseño del dispositivo de juego
Diseño del dispositivo de juego
Diseño del dispositivo de juego
Diseño del dispositivo de juego

Mi programa CAD preferido es Fusion 360, así que decidí usarlo para diseñar mi dispositivo de juego de pong. Comencé diseñando cada componente utilizado: un OLED, Arduino Nano y un altavoz, de esta manera puedo ver exactamente dónde y cómo debe encajar cada componente dentro del gabinete. Luego coloqué el Nano y el PCB en la parte posterior de la carcasa, y el OLED encima. A continuación, se planteó la cuestión de dónde colocar el altavoz y los botones. Decidí que el altavoz de 3 W podía ir justo debajo de la pantalla (mirándolo desde arriba), y eso también requería colocar una "rejilla" sobre el altavoz para que el sonido no se amortiguara. Por último, agregué dos botones en el lado izquierdo para agregar controles.

Paso 4: construcción del dispositivo

Construyendo el dispositivo
Construyendo el dispositivo
Construyendo el dispositivo
Construyendo el dispositivo
Construyendo el dispositivo
Construyendo el dispositivo

Comencé imprimiendo en 3D cada parte, que consta de la mitad inferior, la mitad superior y 2 botones. A continuación, soldé un cabezal hembra al 4x6cm y lo conecté al Nano. Esto no solo permite que el OLED se elimine fácilmente, sino que también lo eleva por encima del Arduino Nano. Consulte el esquema para obtener información sobre el cableado. Luego conecté los dos botones, junto con una placa de conexión micro USB simple para la alimentación. El altavoz también se adjuntó y lo colocó en su posición correcta. El diseño de mi Fusion 360 permite tornillos de máquina de 3 mm para sujetar el OLED, el altavoz y conectar las dos mitades del dispositivo. Pero tenía que hacerlos exactos, así que usé mi taladro para perforar 8 agujeros: 2 para el altavoz, 2 para la pantalla y 4 debajo. Puede visitar el enlace de Thingiverse para los archivos.

Paso 5: Programación del juego

El uso de una interfaz simple era vital para mantener el tamaño del programa. Comencé agregando varias bibliotecas: Adafruit_GFX, Adafruit_SSD1351 y la biblioteca Arduino Timer. A continuación, definí mis pines y colores, como los pines del OLED y las definiciones de color de 16 bits. En mi código también hay 4 formas de cambiar la forma en que se juega el juego, como cambiar las dimensiones de la paleta y la rapidez con que se mueve la pelota. Luego existe una sección donde se define cada variable, incluida la puntuación y varias coordenadas. Siempre que el dispositivo se enciende, aparece una imagen de una pelota y aparece un texto en la pantalla, junto con una pequeña canción que se define anteriormente en el código. Una vez que comienza el juego, se crean dos temporizadores, uno que actualiza la paleta y el otro actualiza la pelota. Cada vez que se actualiza la posición de la pelota, se comprueban sus coordenadas para asegurarse de que no sobrepase el borde de la pantalla o si está tocando una paleta. Cada vez que rebota, su eje xo y se invierte y se reproduce un pequeño tono. Mire el video al comienzo de este artículo para ver cómo funciona el juego.

Paso 6: ¡Jugar Pong

¡Jugando Pong!
¡Jugando Pong!
¡Jugando Pong!
¡Jugando Pong!
¡Jugando Pong!
¡Jugando Pong!
¡Jugando Pong!
¡Jugando Pong!

El nombre del juego es conseguir la puntuación más baja posible. No hay límite de tiempo, por lo que es muy agradable e incluso induce al trance. Todo lo que se necesita es presionar uno de los dos botones para mover la paleta hacia arriba o hacia abajo. También es posible agregar una forma de almacenar la puntuación más alta utilizando la EEPROM de Arduino.

Recomendado: