Construye un Juego Arcade Clásico con Arduino LCD, Zumbador y Joystick
Componentes y Suministros
| Componente | Cantidad |
|---|---|
| Arduino UNO | 1 |
| Protoboard (genérica) | 1 |
| Cables jumper (genéricos) | 1 |
| Cable USB-A a B | 1 |
| Potenciómetro rotativo (genérico) | 1 |
| Joystick analógico (genérico, con botón) | 1 |
| Zumbador (buzzer) | 1 |
| Pantalla LCD 16x2 (blanco sobre azul, estándar Adafruit) | 1 |
Aplicaciones y Servicios en Línea
- Arduino IDE
Sobre el Proyecto
Este proyecto recrea un videojuego clásico de "correr y saltar" en una pantalla LCD 16x2. El jugador controla un personaje que debe esquivar obstáculos que se desplazan horizontalmente. El joystick analógico (que debe incluir pulsador) sirve para mover al personaje: pulsar su botón hace saltar al protagonista. Un zumbador emite sonidos al colisionar o al saltar, añadiendo realismo. El objetivo es sobrevivir el mayor tiempo posible; se gana un punto por cada segundo en pista.
Código
El sketch completo utiliza la librería LiquidCrystal.h y define caracteres personalizados para el héroe (corriendo, saltando) y el terreno (bloques sólidos, bordes). La lógica principal:
- Genera terreno aleatorio (bloques arriba/abajo) que se desplaza hacia la izquierda.
- Gestiona la física del salto mediante una máquina de estados (8 fases de salto + 2 de carrera en cada fila).
- Detecta colisiones comparando la posición del héroe con el terreno.
- Actualiza la puntuación y la muestra en la esquina superior derecha.
- Usa interrupción en el pin 2 (botón del joystick) para detectar la pulsación de salto sin bloquear el bucle principal.
Pines clave: LCD (RS=11, E=9, D4=6, D5=5, D6=4, D7=3), Botón=2, Zumbador=8, Contraste LCD=12, R/W LCD=10, Autoplay=1.
Esquemáticos
Consulte la imagen del esquema para el cableado completo. El potenciómetro regula el contraste del LCD. El joystick se alimenta de 5 V y GND; sus ejes X/Y van a entradas analógicas (no usadas en este código) y su pulsador al pin digital 2. El zumbador se conecta al pin 8 a través de un transistor o directamente si es pasivo de bajo consumo.
Proceso de manufactura
- Detector de idiomas TinyML con Edge Impulse en Arduino Nano 33 BLE Sense
- Construye un Juego Giroscópico en Tiempo Real con Arduino Nano y Sensor MPU-6050
- Proyecto Dados Digitales Arduino: Construye tu Propio Generador de Números Aleatorios con LCD
- Construye tu Propio Juego de Ruleta de 37 LEDs con Arduino Nano
- Mando USB para juegos DIY con Arduino – Construye tu propio gamepad de alto rendimiento
- Juego interactivo con joystick analógico y LEDs en Arduino
- Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
- Pixel Chaser: Juego LED Interactivo de Un Toque con Arduino Nano
- Osciloscopio DIY con Arduino Nano (10 Hz–50 kHz) y LCD 128×64
- Construir una lámpara de escritorio reactiva al audio con Arduino Nano
- Pong Neón en Matriz NeoPixel con Arduino Nano