DEEP - Laser Game STM32
← Tous les projets Embarqué - Binôme - Scolaire Terminé

DEEP - Laser Game STM32

Prototype de pistolet de laser game sur STM32G431KB avec écran e-paper, infrarouge, Bluetooth et PCB custom conçu sur Altium Designer. Preuve de concept fonctionnelle avec HUD temps réel, boîtier CAO SolidWorks et analyse de cycle de vie.

Projet scolaire DEEP (Digital Embedded Electronics Project) réalisé en binôme avec Hong-Ly KY. L'objectif était de concevoir un prototype fonctionnel de pistolet de laser game basé sur la carte NUCLEO-G431KB (ARM Cortex-M4, 170 MHz, 128 Ko Flash, 32 Ko RAM). Il s'agit d'une preuve de concept (pas d'un produit fini) visant à valider l'architecture matérielle et logicielle sur un prototype de laboratoire.

Le dispositif intègre un écran e-paper Waveshare 1.54" (SSD1681) piloté en SPI pour le HUD, un émetteur IR et un récepteur TSOP38238 pour les tirs (chaque joueur émet un code IR unique, ce qui empêche de se toucher soi-même), deux modules Bluetooth HC-05 appairés en UART pour la synchronisation multi-joueurs, trois boutons de commande avec antirebond logiciel, une photorésistance pour détecter si le joueur tient le pistolet, et une LED de visée.

Le logiciel repose sur une machine à états à 7 états (INIT, IDLE, GAME, HIT, SHOT, RELOAD, END) orchestrant l'ensemble du jeu. Le HUD affiche en temps réel : temps restant, équipe, score individuel et d'équipe, mode de tir et munitions. Trois modes de tir sont disponibles : semi-automatique (tir continu toutes les 130 ms), rafale (3 tirs espacés) et sniper (un tir par appui). Le rechargement dure 10 secondes avec barre de progression animée. Le décompte temps utilise HAL_GetTick() pour absorber les 1,8 s de rafraîchissement e-paper sans dérive du compteur.

Le PCB a été conçu sur Altium Designer par Hong-Ly : saisie du schéma, routage, vérification DRC, export Gerber et estimation de fabrication chez JLCPCB. Deux PCB ont été soudés et testés. L'architecture logicielle est structurée en couches (HAL, BSP e-paper, primitives graphiques, menus, machine à états) sans aucune allocation dynamique - tout en statique ou sur la pile.

Un boîtier en forme de pistolet a été modélisé sur SolidWorks : 5 pièces (canon, poignée avec logement batterie externe, pièce de liaison, et 2 symétries), assemblées par vis M5. Le design tient compte des dimensions exactes du PCB (76,96 x 52,58 mm) et est prévu pour impression 3D en PLA.

Une analyse de cycle de vie (ACV) a été réalisée via la plateforme ADEME. La fabrication représente 96 % de l'impact environnemental. Trois pistes d'amélioration ont été identifiées : intégrer le STM32 nu en CMS (suppression de la Nucleo, -40 % d'impact), utiliser du rPLA recyclé (-59 % sur le poste boîtier), et concevoir pour la réparabilité avec des connecteurs débrochables.

Les parties opposent jusqu'à 4 équipes de 4 joueurs sur 5 minutes, avec un pistolet maître du jeu qui lance et synchronise la partie via Bluetooth. Le code source est documenté avec Doxygen et versionné avec Git.

C / C++ Arduino / STM32 PCB / Altium Schématique Impression 3D

Modele 3D

Cliquer et glisser pour tourner
CatégorieEmbarqué - Binôme - Scolaire