📸 Photos


🔧 Objectif du projet
Construire un simple Space Invader jeu de style arcade utilisant :
- UN Matrice de LED MAX7219 8×8 pour afficher le jeu,
- UN manette de jeu pour contrôler le vaisseau spatial,
- UN Écran LCD 1602 (non I2C) pour afficher l'écran de bienvenue et le score actuel.
Ce projet combine électronique, logique de jeu interactif, et contrôle de l'affichage
📦 Matériel utilisé
- 1 × Arduino UNO
- 1 × matrice LED MAX7219 (8 × 8)
- 1 × manette analogique
- 1 × écran LCD1602 (pas d'I2C)
- 1x 220 résistances
- Fils de liaison, planche à pain, potentiomètre (pour le contraste LCD)
📟Code
Vous devez installer LedContrôle et Cristal Liquide . Le code : Ici
🔌 Aperçu du câblage
MAX7219
- VACARME → Broche 11
- CLK → Broche 13
- CS/CHARGER → Broche 10
LCD1602
- RS → D8, E → D7, D43-D7 → D9 à D12
- Potentiomètre entre V0 et GND pour régler le contraste
Manette
- VRx (horizontal) → A3
- Vcc / GND → 5V / GND
🧠 Comment ça marche
- Écran de démarrage :
L'écran LCD affiche :Space Invader Move to play!Le MAX7219 montre un grand « S » comme le logo du jeu (inutile mais amusant ^^). - Démarrer le jeu :
Le jeu commence lorsque vous déplacez le joystick vers la gauche ou la droite (axe X). - Jouabilité :
- Vous contrôlez un vaisseau spatial au bas de la matrice LED.
- Le tir est automatique (une balle à la fois).
- Trois extraterrestres tomber du haut de l’écran.
- Chaque coup extraterrestre vous donne +1 point (affiché sur l’écran LCD).
- Si un extraterrestre atteint votre position → Jeu terminé.
- Animation de jeu :
Une animation rapide s'affiche et le jeu redémarre automatiquement.
✨ Résultats
- Entièrement jouable et réactif
- Commandes par joystick fluides
- Affichage clair et en temps réel des scores LCD1602 non I2C
- Boucle de relecture facile, parfaite pour apprendre ou s'amuser
💡 Ce que j'ai appris
- Comment coordonner deux systèmes d'affichage (Matrice LED + LCD)
- Manutention entrées joystick analogiques pour le contrôle directionnel
- En utilisant
millis()gérer mouvement chronométré (délai non bloquant) - Basique logique de conception de jeux en utilisant des tableaux et des drapeaux
- Écrire du code Arduino propre avec des fonctions modulaires
🧪 Améliorations possibles
- Ajouter un bouton à tirer manuellement des balles
- Utilisez un buzzer pour bruitage (tirer, frapper, game over)
- Mettre en œuvre un réglage de la difficulté (la vitesse des extraterrestres augmente avec le temps)
- Rendre la matrice plus lisse en optimisant
loop()avec seulementmillis()(Nondelay())
📁Code Source
Découvrez le projet complet et le code sur GitHub :
👉 My Github Link
Et un autre projet que j'ai réalisé (Écran pour Musique Spotify sur LCD1602)