Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Construye tu Juego "UFO Attack" con Arduino UNO y Pantalla MAX7219

Componentes y suministros

Componente Cantidad
Arduino UNO 1
Módulo matriz de puntos MAX7219 "4 en 1" (32x8) 1
Conector DB9 hembra 9 pines (para joystick Atari) 1
Transistor NPN de propósito general 1
Protoboard 1
Zumbador pasivo piezoeléctrico (Adafruit) 1
Cables jumper macho/hembra 5
Cables jumper genéricos 10
Resistencia 1 kΩ 1
Joystick compatible Atari 9 pines 1

Sobre este proyecto

He creado este juego usando un Arduino UNO, un conjunto de 4 matrices MAX7219 ("4 en 1") y componentes de un kit de inicio Arduino. El código es propio y usa las librerías Max72xxPanel, Adafruit GFX y SPI.

¡Dale caña y derriba OVNIs! Cada nivel tiene un objetivo de OVNIs a destruir antes de que aparezca el jefe final. Requiere un joystick compatible Atari de 9 pines; si tienes uno viejo, ¡dale una segunda vida! Estoy trabajando en una versión portátil para futuras actualizaciones.

Código

UFO Attack - Código completo (C/C++)

/* UFO ATTACK! - Escrito por Anthony Clarke */
/* Algunas líneas tomadas de ejemplos open source, marcadas en comentarios */
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Max72xxPanel.h>

const int pinCS = 10;
const int numberOfHorizontalDisplays = 4;
const int numberOfVerticalDisplays = 1;
Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);

// Sprites 8x8 guardados en PROGMEM: nave, OVNI, explosión, reboteador, jefe, etc.
const unsigned char ship [] PROGMEM = { 0x80, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
const unsigned char ufo [] PROGMEM = { 0x40, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
// ... (resto de sprites: explosion, bouncer, boss, faller, riser, LT, ufoLaser, bossBoom1/2)

// Variables de juego: estado, posiciones, velocidades, temporizadores, puntuación, vidas, nivel, etc.
bool gameStart = false;
int up = 2, down = 3, left = 4, right = 5, trigger = 6;
// ... (más variables)

void setup() {
  pinMode(buzzerPin, OUTPUT);
  pinMode(up, INPUT_PULLUP); pinMode(down, INPUT_PULLUP);
  pinMode(left, INPUT_PULLUP); pinMode(right, INPUT_PULLUP);
  pinMode(trigger, INPUT_PULLUP);
  matrix.setIntensity(0);
  // Configuración posición y rotación de las 4 matrices
  matrix.setPosition(0, 3, 0); matrix.setPosition(1, 2, 0);
  matrix.setPosition(2, 1, 0); matrix.setPosition(3, 0, 0);
  matrix.setRotation(0, 3); matrix.setRotation(1, 3);
  matrix.setRotation(2, 3); matrix.setRotation(3, 3);
  matrix.fillScreen(LOW);
}

void loop() {
  if (!gameStart) Ticker(true);
  SpawnTimer(); JoystickControl(); UfoControl(); BouncerControl();
  LaserControl(); ScreenLimit(); BossBattle(); BossControl();
  UFOLaserControl(); LTControl(); FallerControl(); RiserControl();
  ShipCollision();
  matrix.write(); delay(50); matrix.fillScreen(LOW);
}

// Funciones: Level(), Ticker(), JoystickControl(), ShootLaser(), LaserControl(),
// Boom(), ScreenLimit(), SpawnTimer(), SpawnUFO(), UfoControl(), SpawnBouncer(),
// BouncerControl(), SpawnFaller(), FallerControl(), SpawnRiser(), RiserControl(),
// SpawnLT(), LTControl(), BossBattle(), BossControl(), UFOLaserShoot(),
// UFOLaserControl(), ShipCollision(), GameOver(), ShipHit()
// ... (código completo en el repositorio / adjunto)

El código gestiona: menú titular con texto desplazable, control por joystick, disparo, múltiples tipos de enemigos (OVNIs, reboteadores, caídas, subidas, mini-jefe LT, jefe final), colisiones, puntuación, niveles progresivos (1-10), sonido por zumbador y pantallas de game over / victoria.

Esquemáticos

Esquema de cableado del juego UFO Attack (imagen adjunta).

Proceso de manufactura

  1. Proyecto Dados Digitales Arduino: Construye tu Propio Generador de Números Aleatorios con LCD
  2. Efecto fuego con agua: Arduino UNO + Neopixel Stick
  3. Reloj 3D RGB Arduclock – Bluetooth, LED NeoPixel y RTC
  4. Monitor de Salud Fluvial: Sistema de Calidad de Agua con Arduino
  5. Construye un Iron Man animado con Arduino: componentes, sensores y guía paso a paso
  6. Juego interactivo con joystick analógico y LEDs en Arduino
  7. Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
  8. Construye un Brazo Robótico Impreso en 3D Controlado por Arduino – Guía Paso a Paso
  9. Detector de Rango Portátil – Kit DIY Arduino Nano con HC-SR04, Batería 18650 y Carcasa Impresa en 3D
  10. Controlador de Humidificador DIY con Arduino y Relé: Configuración Segura de Alto Voltaje
  11. Pequeño Rover con Arduino: Construye tu Robot Autónomo Evita Obstáculos