Portfolio GEII
SAE S2 · Système embarqué · Groupe C

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.

Prototype du jeu Asteroids en fonctionnement : menu affiché sur l'écran TFT ILI9488
Le prototype en fonctionnement - menu d'accueil sur l'écran ILI9488.
Résumé

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 fil rouge : ménager un microcontrôleur lent

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

Architecture matérielle autour du PIC16F18877 et de quatre sous-systèmes
Conception et fabrication d'une carte son LM386 sous KiCad 9 (45 × 45 mm)
Modélisation mécanique 3D du support sous SolidWorks
Pilote bas niveau ILI9488 (SPI) et bibliothèque graphique GFX
Logiciel de jeu en C : machine à états, mathématiques de la rotation, collisions, son NCO
Intégration, câblage et validation d'un prototype jouable
Vue d'ensemble

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.

Boîte à outils

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 mobilisées

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.