Cómo recrear el juego clásico de pong usando Arduino

Cómo recrear el juego clásico de pong usando Arduino / Bricolaje

Pong fue el primer videojuego que llegó al mercado masivo. Por primera vez en la historia, el concepto de un “videojuego” Fue traído a la casa familiar, gracias al Atari 2600, por lo que es justo que hagamos un pequeño homenaje a esta joya histórica. Ahora, puedes revivir eso (ciertamente un juego aburrido) utilizando un Arduino y algunos componentes comunes.

No mentiré. Es poco probable que su hija renuncie a su Nintendo DS, y esto no va a proporcionar horas de diversión para toda la familia, pero es un proyecto increíble y fácil para mejorar su codificación Arduino. Y si recién está comenzando, no se olvide de consultar nuestra guía para principiantes Arduino.

Haremos dos controladores básicos, y el video se enviará a su TV a través de un cable de video compuesto estándar.

Requisitos para Arduino Pong

  • 470 resistencia ohm x1
  • 1k resistencia ohm x1
  • Potenciómetro de 10k ohmios (resistencia variable twiddly) x2
  • Arduino x1 (cualquier versión)
  • RCA enchufe x1 (Si tiene más de uno, también puede conectar el sonido. Uno para el video es el mínimo)
  • Presionar el botón cambiar x1
  • 10k resistencia ohm x1

También descargará la biblioteca TV Out Arduino desde aquí. Obtenga la TVoutBeta1.zip, El último lanzamiento. Coloque las carpetas resultantes todas en su / arduino / bibliotecas directorio, y reinicie el IDE de Arduino si ya está abierto.

Prueba de salida de TV

Retire su tapón RCA y retire la capa exterior. Recoja el blindaje, gírelo y póngalo a un lado. Este es tu terreno. En el centro debe haber otro cable con blindaje de plástico. De nuevo, retírelo para que tenga su línea de señal.

Suelde las resistencias de 470 ohm y 1k ohm a la línea de señal central de su conector RCA; esto proporciona una señal de sincronización y la señal de video real, combinadas para producir la entrada de video analógica. La resistencia de 470 ohmios debe encajar en el pin D07 de IO digital, mientras que la resistencia de 1 kohm va al pin D09.

Estos pines están configurados por la biblioteca que importamos, por lo que no puede cambiarlos. Uno de sus pines Arduino GND debe ir al blindaje (exterior) del RCA.

Ahora puedes seguir adelante y cargar en un ejemplo; A pesar de que se proporcionan PAL y NTSC, realmente no debería importar con los televisores digitales modernos: la demostración de NTSC funcionó bien para mí a pesar de estar en el Reino Unido. Conéctalo a tu televisor y obtendrás un precioso cubo retro en 3D. Oooooh sí, ¿estás emocionado ya? yo soy.

Pruebe las entradas de potenciómetro analógico

Ok, tenemos la salida de TV funcionando, ahora vamos a probar los controladores. El cableado de la “montones” no es tan crítico: cada uno debe tener 3 pines, y el central casi siempre produce la señal de salida. Cablee eso a A0 y A1 (uno para cada olla). En uno de los pines laterales, no importa cuál, cablear + 5V. El otro pin en el otro lado debe ir a tierra.

Aquí los puse ambos en una sola placa, porque solo tengo cables cortos. Para un producto pulido, querrá usar un cable de red antiguo para tener un poco de distancia (de modo que pueda sentarse en el sofá para jugar).

A continuación, cargue uno de los bocetos de ejemplo básicos que vienen con Arduino, el de entrada analógica. Esta demostración destellará el LED incorporado más rápido o más lento, dependiendo de la entrada en A0.

No prueba el otro potenciómetro A1, pero si tienes A0 conectado, entonces no puedo ver cómo cometerías un error en A1, así que supongamos que todo está bien y seguir adelante..

Añadir un interruptor de inicio

Finalmente, agregaremos un interruptor de arranque en D02. Consulte el diagrama de cableado aquí para saber cómo hacerlo. Este interruptor se utilizará para iniciar el juego cuando esté en el menú.

El codigo pong

Estamos usando un código escrito originalmente por Lamonica, modificado por duboisvb para dos jugadores, y actualizado por mí mismo para usar la última versión beta de la biblioteca de TV Out. Puedes ver y descargar el código de este pastebin..

Es un código bastante largo pero simple que no debería requerir ninguna explicación de mi parte. Como la mayoría de los juegos, se basa en un estado del juego (menú, juego, juego terminado) y lee los valores de entrada de ambos controladores y el interruptor en cada iteración del bucle. Más allá de eso están los métodos para dibujar la pantalla, la bola, las paletas y la lógica del juego..

Tenga en cuenta que el código incluye salida de audio también: no pude encontrar más enchufes RCA para probar eso, pero si tiene algunos, luego conecte el pin de señal directamente a D11, y debería obtener algunos tonos retro agradables.

Para ser honesto, no sabía que Arduino podría incluso salir sin una codificación inmensamente compleja; La biblioteca de TV hace que sea muy fácil. Incluso si no te gustan los juegos retro, usar esta salida de TV básica es una excelente manera de utilizar el equipo existente como un dispositivo de monitor barato. Por supuesto, también puede dar color al color..

¿Crees que vas a probar Arduino Pong, o quizás hagas tu propio remake de videojuegos retro? Cuéntanos en los comentarios si tienes!

Explorar más sobre: ​​Arduino, Retro Gaming.