Asteroids - un jeu vidéo sur microcontrôleur
Conception et réalisation complète d'un jeu d'arcade de type Asteroids embarqué sur PIC16F18877 : écran TFT, manette à joystick, carte son dédiée et logiciel C, de l'étude au prototype démontrable.
Projet réalisé en binôme - Emma Grosmaire & Dorian Sausse · BUT GEII, IUT de Nîmes.
Résumé du projet
Cette SAE de deuxième semestre couvre l'intégralité de la chaîne d'ingénierie d'un système embarqué interactif. Pour donner un fil conducteur concret, le binôme a choisi de réaliser un jeu vidéo de type Asteroids : un support ludique qui impose toutes les contraintes du génie embarqué - affichage temps réel, lecture de capteurs, génération sonore et boucle de jeu fluide.
Le système s'articule autour d'un microcontrôleur PIC16F18877 reliant quatre sous-ensembles : un écran TFT ILI9488 (480 × 320) piloté en SPI, une manette à joystick analogique lu par l'ADC, une carte son dédiée conçue sous KiCad autour du LM386, et le logiciel embarqué développé sous MPLAB X.
Le PIC est un cœur 8 bits sans unité de calcul flottant. Tout le logiciel est pensé pour l'épargner : éviter le flottant en jeu (vecteur normalisé du joystick = cos/sin), comparer les distances au carré, et ne redessiner que ce qui change à l'écran.
Points clés du projet
Navigation dans le rapport
Quatre sous-systèmes, un microcontrôleur
Toute l'intelligence du jeu réside dans un seul circuit, qui lit les commandes, calcule, dessine l'image et déclenche les sons.
Affichage
Écran TFT ILI9488 couleur 480 × 320, piloté par le bus SPI1 en maître (mode 0), couleur 18 bits.
Manette
Joystick analogique deux axes lu par l'ADC 10 bits, et boutons-poussoirs actifs à l'état bas.
Carte son
Amplificateur LM386 (gain 20) sur PCB double face 45 × 45 mm, attaqué par la sortie NCO1.
Calculateur
PIC16F18877 8 bits à 32 MHz, configuré sous MCC : ADCC, SPI1 et NCO1.
Technologies & outils utilisés
MPLAB X & XC8
Développement C embarqué, configuration des périphériques via MPLAB Code Configurator (MCC).
KiCad 9
Schéma et routage de la carte son LM386, génération des fichiers Gerber de fabrication.
SolidWorks
Modélisation 3D du support mécanique et vérification des dégagements de l'assemblage.
Mathématiques embarquées
Normalisation vectorielle, addition d'angles précalculée, distances au carré, décalage de bits.
Compétences principales
Concevoir
Définir l'architecture matérielle, router une carte son cohérente et modéliser le support mécanique.
Programmer
Écrire un logiciel embarqué temps réel en C, sous la contrainte d'un microcontrôleur 8 bits sans FPU.
Intégrer & valider
Câbler les sous-ensembles, vérifier les liaisons et éprouver la jouabilité réelle du prototype.