diff --git a/docs/background.png b/docs/background.png new file mode 100644 index 0000000000000000000000000000000000000000..c797938e5dcd26cf96882b5d8375138429ab7297 Binary files /dev/null and b/docs/background.png differ diff --git a/docs/circuit.png b/docs/circuit.png new file mode 100644 index 0000000000000000000000000000000000000000..d40043dd87ff0732880e37ad5b540239fa05cfc5 Binary files /dev/null and b/docs/circuit.png differ diff --git a/docs/circuit.png:Zone.Identifier b/docs/circuit.png:Zone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..2d45b2b2fdb7bbe49418900f19c3cf6a7d3b94ce --- /dev/null +++ b/docs/circuit.png:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=about:internet diff --git a/docs/doc.md b/docs/doc.md new file mode 100644 index 0000000000000000000000000000000000000000..ab156f1f3fd61d3e16b0055990789bbde160b0af --- /dev/null +++ b/docs/doc.md @@ -0,0 +1,63 @@ +--- +title: 'Le jeu du Simon - PSE' +author: [Thibault Capt] +date: "04.02.2022" +subject: "Le jeu du Simon - PSE" +subtitle: "Création du circuit et codage du jeu du Simon sur un système embarqué" +titlepage: true +titlepage-color: "ffffff" +titlepage-background: "background.png" +toc-own-page: true +footnotes-pretty: true +--- +# Le jeu du Simon + +## Introduction + +Lors du cours de système embarqué de première année à HEPIA, on nous demande de créer un projet individuel que l'on va devoir réaliser d'ici la fin du premier semestre. + +Description de la solution a réaliser : +- On doit utiliser un affichage composé d'une matrice de leds à trois couleurs +- Afin de gérer les interactions, des capteurs sans contacts ont été ajoutés en haut de chaque colonne. Ceux-ci sont contrôlés par un module spécifique "CAP1188" relié au microcontrôleur par un BUS I2C. Une zone tactile recantgulaire a été placée en vas de l'affichage. + +## Implémentation + +- Multiplexage temporel des leds à l'aide d'un TIMER afin de gérer correctement le temps d'affichage +- On a le droit d'ajouter des leds et des boutons-poussoirs extérieurs sur la plaque de prototypage +- Gestion du joueur +- Gestions des boutons-poussoirs ou du capteur tactile CAP1188 par des interruptions + +## Le Simon + +J'ai donc choisi le jeu du Simon. Ce jeu est un jeu de société électronique comportant quatre touches de couleurs différentes. Son principe est de recopier la suite de couleurs qui est affichée sur les différentes couleurs du Simon. À chaque tour, le jeu ajoute une nouvelle couleur. + +> Source [wikipédia](https://fr.wikipedia.org/wiki/Simon_(jeu)) + +## Circuit + +Le circuit crée sur le système embarqué est muni de +- Quatre boutons pull-up +- Une carte de capteurs capacitifs "CAP1188" +- Une carte microcontrôleur LPCxpresso LPC1769 +- Un transistor huit channels +- Trois résistances huit channels + + + +> Figure 1, le schéma du Simon sur la plaque de prototypage + +Les boutons se situent sur la gauche, ils sont un pull up. Ils sont reliés au GND, au 3.3V avec une résistance "infinie" et à un pin du microcontrôleur. La carte "CAP1188" est reliée, elle aussi, au microcontrôleur avec trois résistances de 400,330 et 220 ohms pour chacune des différentes couleurs de led. + +Les leds de la carte "CAP1188" sont repartis en quatre-quarts. Chaque bouton correspond à un quart de led de la carte "CAP1188". + +## Jouer + +Pour jouer, il suffit de lancer le programme. Une fois que la séquence de led créée par l'IA est jouée, il vous suffit d'appuyer sur les boutons pour la recopier. Si la séquence est fausse, toutes les leds s'allument en rouge. Il faut appuyer sur le bouton de la carte "CAP1188" numéro 8 ou relancer le programme pour rejouer une partie. + +## Problème rencontré + +J'ai eu un souci lié aux boutons. En effet, il y a des rebonds. Quand on appuie une fois sur un bouton, il se peut qu'il soit compté comme appuyé deux fois. Le jeu va donc comprendre que vous avez cliqué deux fois sur ce bouton et vous comptez la séquence comme fausse. C'est un problème mécanique donc je ne peux pas le régler avec le matériel à disposition. + +## Conclusion + +Bien qu'il y ait le problème de bouton, le jeu est fonctionnel. J'ai trouvé très instructif de créer un jeu en système embarqué pour nous rendre compte comme ceux-ci sont créés et nous avons pu mettre à l'oeuvre tout ce que l'on a appris lors du cours de PSE. \ No newline at end of file diff --git a/docs/documentation.pdf b/docs/documentation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b57952ea7300f218411920f193d570ea84a1747d Binary files /dev/null and b/docs/documentation.pdf differ