Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Jeu UFO Attack DIY avec Arduino UNO et Afficheur MAX7219

Composants et Fournitures

Composant Quantité
Arduino UNO 1
Module Matrice de Points MAX7219 « 4 en 1 » 1
Connecteur DB9 9 Broches (pour joystick Atari) 1
Transistor NPN Usage Général 1
Plaque d'Essai (Breadboard) 1
Buzzer Piézo Passif Adafruit 1
Fils de Liaison Mâle/Femelle 5
Fils de Liaison (génériques) 10
Résistance 1 kΩ 1
Joystick Compatible Atari 9 Broches 1

À Propos du Projet

J'ai créé ce jeu en utilisant un Arduino UNO, un ensemble de 4 matrices MAX7219 et des composants d'un kit de démarrage Arduino.

Le code a été écrit par moi-même et utilise les bibliothèques Max72xxPanel, Adafruit GFX et SPI.

Lancez-vous et abattez des OVNI ! :-)

Chaque niveau impose un nombre cible d'OVNI à détruire avant l'apparition du boss.

Le jeu nécessite un joystick compatible Atari 9 broches. Si vous en avez un vieux qui traîne, remettez-le en service ! Sinon, vous pouvez en fabriquer un. Je travaille sur une version portable pour les futures itérations.

Fonctionnement du Jeu

Code Source Complet

Le code complet est trop long pour être affiché ici dans son intégralité, mais voici les points clés :

Configuration Matérielle

#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 (Bitmaps 8×8)

// Vaisseau joueur
const unsigned char ship[] PROGMEM = { 0x80, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
// OVNI
const unsigned char ufo[] PROGMEM = { 0x40, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
// Explosion
const unsigned char explosion[] PROGMEM = { 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00 };
// Boss
const unsigned char boss[] PROGMEM = { 0x18, 0x24, 0x42, 0xff, 0x24, 0xff, 0x7e, 0x3c };

Logique Principale

Fonctions Clés

Fonction Rôle
Ticker() Défilement du titre, score, game over, nouveau niveau
JoystickControl() Lecture entrées + déplacement vaisseau + tir
LaserControl() Déplacement laser joueur + collisions tous ennemis
SpawnTimer() Gestion timers d'apparition ennemis
BossBattle() / BossControl() Déclenchement et IA du boss
ShipCollision() Détection collisions joueur vs tout
GameOver() / ShipHit() Gestion vies, fin de partie, réinitialisation

Schéma de Câblage

Le schéma de câblage complet est disponible dans les fichiers du projet. Points clés :

Évolutions Futures

Processus de fabrication

  1. Dé numérique Arduino sur écran LCD 16x2 – Générateur aléatoire à bouton poussoir
  2. Effet feu à l'eau : Projet Arduino UNO + Neopixel Stick
  3. Horloge 3D RGB Arduclock – Montre LED Bluetooth avec horloge temps réel
  4. Surveillance de la Qualité de l'Eau : Système Arduino MKR1000 pour Rivières et Lacs
  5. Construire un Iron Man animé avec Arduino : capteurs, sons et relais
  6. Jeu interactif joystick + LEDs avec Arduino
  7. Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
  8. Construire un bras robotique 3D fonctionnel piloté par Arduino – Guide pas à pas
  9. Détecteur de distance portable – Kit DIY Arduino Nano avec HC-SR04, alimentation 18650 et boîtier imprimé 3D