Cómo recrear el clásico juego de Pong con Arduino

  • Edmund Richardson
  • 0
  • 906
  • 133
Anuncio

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 correcto que rindamos un pequeño homenaje a esta joya histórica. Ahora puedes revivir eso (juego ciertamente algo aburrido) usando un Arduino y algunos componentes comunes.

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

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

Para llevar este proyecto al siguiente nivel, puede imprimir en 3D un gabinete. El usuario de YouTube PotentPrintables hizo exactamente eso!

Requisitos para Arduino Pong

  • 470 resistencia ohm x1
  • 1k resistencia ohm x1
  • Potenciómetro de 10k ohmios (resistencia variablemente variable) 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 un mínimo)
  • Presionar el botón cambiar x1
  • 10k resistencia ohm x1

También podrá descargar la biblioteca TV Out Arduino desde aquí: obtenga el TVoutBeta1.zip, La última versión. Coloque todas las carpetas resultantes en su / arduino / bibliotecas directorio y reinicie el IDE de Arduino si ya está abierto.

Prueba de salida de TV

Tome su enchufe RCA y quite la capa exterior. Recoja el blindaje, gírelo y guárdelo a un lado. Este es tu terreno. En el centro debe haber otro cable con blindaje de plástico; nuevamente, quítelo para que tenga su línea de señal.

Suelde las resistencias de 470 ohmios y 1k ohmios 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ógico. La resistencia de 470 ohmios debe encajar en el pin digital IO D07, mientras que la resistencia de 1k ohmios va al pin D09.

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

Ahora puede seguir adelante y cargar en un ejemplo; aunque se proporcionan tanto PAL como NTSC, en realidad 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éctelo a su televisor y debería obtener un hermoso cubo retro 3D. Oooooh sí, ¿estás emocionado todavía? estoy.

Prueba de 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. Conecte eso a A0 y A1 (uno para cada bote). En uno de los pines laterales, no importa cuál, conecte + 5V. El otro pin del otro lado debe ir a tierra.

Aquí los puse a ambos enfrentados en un solo tablero, porque solo tengo cables cortos. Para un producto pulido, querrá usar un cable de red antiguo para darle un poco de distancia (para que pueda sentarse en el sofá para jugar).

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

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

Agregar un interruptor de inicio

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

El código de 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 salida de TV. Puede 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ú, en el juego, finalización del juego) y lee los valores de entrada de ambos controladores y cambia cada iteración del bucle. Más allá de eso están los métodos para dibujar la pantalla, la pelota, 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 alguno, conecte el pin de señal directamente a D11, y debería obtener algunos tonos retro agradables.

Para ser sincero, no sabía que Arduino podría incluso hacer una salida de TV sin una codificación inmensamente compleja; la biblioteca de salida de TV lo hace realmente 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 generar color.

¿Crees que podrás probar Arduino Pong, o tal vez hacer tu propio remake retro de videojuegos? Cuéntanos en los comentarios si tienes!




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.