summaryrefslogtreecommitdiff
path: root/rapport/Rapport.ms
diff options
context:
space:
mode:
Diffstat (limited to 'rapport/Rapport.ms')
-rw-r--r--rapport/Rapport.ms131
1 files changed, 131 insertions, 0 deletions
diff --git a/rapport/Rapport.ms b/rapport/Rapport.ms
new file mode 100644
index 0000000..da89694
--- /dev/null
+++ b/rapport/Rapport.ms
@@ -0,0 +1,131 @@
+.so /home/mas/.config/groff/macros.ms
+.TL
+Projet Simon sur STM32
+
+.AU
+Aimeric ADJUTOR et Anthony BOULANT
+.AI
+.BX ESIEA
+.PP
+
+
+.PSPIC -C "img/simon.ps" 6
+
+.PP
+.bp
+
+.SH
+Introduction
+
+.PP
+Ce projet a pour but de maitriser les bases de la programmation et de câblage sur carte STM32 tout en ayant un but symphatique à atteindre.
+
+.PP
+Ce rapport est divisé en 6 parties:
+.BL
+1. Simon fait maison
+.BL
+2. Matériel
+.BL
+3. Outils logiciels
+.BL
+4. Câblage
+.BL
+5. Programme
+.BL
+6. Difficultés
+
+.NH
+Simon fait maison
+
+.PP
+Nous souhaitons recréé un jeu électronique mythique, de la firme Hasbro, qui s'appelle Simon avec une carte microcontrolleur STM32.
+
+.PP
+Le but du jeu est le suivant: refaire les couleurs (leds) dans l'ordre en appuyant sur le bouton poussoir correspondant.
+.PP
+A cause d'une contrainte de matérielle, nous utilisons, ici, uniquement 3 leds avec 3 boutons poussoir qui leurs sont liés.
+.PP
+La quatrième led qui est incorporée sur la carte signalera si on est en mode deux joueurs.
+
+.PP
+L'écran LCD nous permettra d'afficher du texte (comme Game Over) et le score.
+
+.PP
+Un quatrième bouton poussoir sera utilisé comme bouton d'activation du mode deux joueurs.
+.PP
+Et celui de la carte (bleu) servira de bouton start.
+
+.NH
+Outils logiciel
+
+.PP
+Utilisation de STM32CubeMX pour générer le code de base et de System Workbench for STM32 comme IDE pour le reste.
+.PP
+Nous avons aussi utilisé la librairie HAL.
+
+.NH
+Matériel
+
+.PP
+Afin d'effectuer ce projet nous avons été doté des éléments suivant :
+.BL
+1 Microcontrolleur NUCLEO-L053R8
+.BL
+3 Leds : vert, jaune, rouge
+.BL
+4 boutons poussoir
+.BL
+1 écran LCD
+
+.bp
+.NH
+Câblage
+
+.PSPIC -C "img/dummy.ps"
+
+.PP
+.bp
+.NH
+Programme
+
+.PP
+L'entiereté du programme (jeu) est présent dans le fichier main.c.
+.PP
+Il s'agit d'une adaptation du programme prototype_simon.c, qui est aussi present dans ce dossier, avec l'utilisation du materiel (LCD, Leds et boutons).
+
+.NH 2
+Fonctions
+
+.PP
+Nous avons créé 3 fonctions en plus de main :
+.BL
+.UL "fonction_led" ": pour le contrôle de nos leds en fonction de la couleur donné et de la posiition voulu."
+.PP
+On utilise les fonctions de led vu en TP pour faire cela : Led_turnOff pour éteindre et Led_turnOn pour allumer.
+
+.BL
+.UL "affiche_lcd" ": pour le contrôle de notre lcd en spécifiant la position en y, le contenu et si oui doit effacer son ancien contenu avant d'écrire dessus."
+.PP
+On utilise les fonction de lcd_1602 : lcd_clr pour l'effacement, lcd_gotoxy pour la position et lcd_puts pour afficher.
+
+.BL
+.UL "choix_aleatoire" ": pour choisir une couleur de led au hasard à ajouter à chaque niveau."
+
+.NH 2
+Main
+
+.PP
+Le main contient le coeur du jeu simon avec un systeme un joueur ou deux joueurs en plus du score. De nombreux commentaires ont été produit afin de rendre la relecture et de possible futurs changements plus simple.
+.PP
+Le fichier prototype_simon.c à été produit dans un premier temps afin de visualiser le jeu sans materiel STM32.
+
+.NH
+Difficultés
+
+.PP
+Tres peu de documentation clair sont à porté de main sur internet et les cours + TP n'étaient pas suffisant pour avancer rapidement dans ce projet.
+.PP
+Malgré tout, nous avons trouvé un code faisant fonctionner notre écran LCD.
+.PP
+Au final, nous n'avons pas pu testé notre code car notre carte à un soucis, elle n'arrive plus à charger notre code malgré plusieurs tests avec d'anciens codes du TP.