Projet IMA3 P2, 2017/2018, TD2 : Différence entre versions
Ligne 5 : | Ligne 5 : | ||
===<span style="color:RoyalBlue">Description du système</span>=== | ===<span style="color:RoyalBlue">Description du système</span>=== | ||
− | A l'instar du mondialement connu jeu du Simon, notre système aura pour mission de générer aléatoirement une séquence de signaux lumineux, à l'aide de 4 LED. Une fois la séquence terminée, ce sera au tour de l'utilisateur de reproduire cette dernière de façon identique, en | + | A l'instar du mondialement connu jeu du Simon, notre système aura pour mission de générer aléatoirement une séquence de signaux lumineux, à l'aide de 4 LED. Une fois la séquence terminée, ce sera au tour de l'utilisateur de reproduire cette dernière de façon identique, en appuyant sur des interrupteurs. Chaque bouton correspondra alors à une couleur. Il faudra donc également mettre en place un système indiquant à l'utilisateur si il a réussi ou non. |
− | |||
− | |||
+ | On pourra, via la partie serveur Web, paramétrer les parties en gérant la vitesse ainsi que la taille de la séquence. De plus, c'est côté web que sera généré la séquence aléatoire d'allumage des LED, pour être ensuite envoyé vers la FPGA et son système électronique. | ||
===<span style="color:RoyalBlue">Evolutions possibles du projet</span>=== | ===<span style="color:RoyalBlue">Evolutions possibles du projet</span>=== | ||
Ligne 16 : | Ligne 15 : | ||
depuis la partie serveur Web, nous pourrions alors gérer le nombre de joueurs, et le mode de jeu choisi. | depuis la partie serveur Web, nous pourrions alors gérer le nombre de joueurs, et le mode de jeu choisi. | ||
+ | De plus, nous pouvons également envisager l'utiliser des capteur à ultrasons à la place de simples boutons lorsque l'utilisateur rentrera sa séquence. Il n'aura alors qu'à positionner sa main devant les capteurs souhaités. | ||
===<span style="color:RoyalBlue">Protocole de fonctionnement</span>=== | ===<span style="color:RoyalBlue">Protocole de fonctionnement</span>=== | ||
Ligne 43 : | Ligne 43 : | ||
== Séance 1 == | == Séance 1 == | ||
− | *Choix du sujet | + | *Choix du sujet |
− | *Répartition des taches à effectuer pour la partie électronique (garder en mémoire un signal d'entrée, l'afficher et vérifier si le signal "créé" par l'utilisateur est le même, et envoyer la réponse à l'application) et la partie application (génération d'un signal aléatoire, choix de la vitesse, de la taille des séquences et du mode de jeu. | + | *Répartition des taches à effectuer pour la partie électronique (garder en mémoire un signal d'entrée, l'afficher et vérifier si le signal "créé" par l'utilisateur est le même, et envoyer la réponse à l'application) et la partie application (génération d'un signal aléatoire, choix de la vitesse, de la taille des séquences et du mode de jeu. |
− | *Prise en main Raspberry | + | *Prise en main Raspberry |
*Test de simulation d'envoie d'un signal pour allumer des LED | *Test de simulation d'envoie d'un signal pour allumer des LED | ||
− | + | == Séance 2 == | |
− | |||
− | |||
− | == | + | == Séance 3 == |
− | == | + | == Bilan == |
Version du 25 janvier 2018 à 14:02
Sommaire
Projet IMA3-SC 2017-2018 : Le Jeu du Simon
Cahier des charges
Description du système
A l'instar du mondialement connu jeu du Simon, notre système aura pour mission de générer aléatoirement une séquence de signaux lumineux, à l'aide de 4 LED. Une fois la séquence terminée, ce sera au tour de l'utilisateur de reproduire cette dernière de façon identique, en appuyant sur des interrupteurs. Chaque bouton correspondra alors à une couleur. Il faudra donc également mettre en place un système indiquant à l'utilisateur si il a réussi ou non.
On pourra, via la partie serveur Web, paramétrer les parties en gérant la vitesse ainsi que la taille de la séquence. De plus, c'est côté web que sera généré la séquence aléatoire d'allumage des LED, pour être ensuite envoyé vers la FPGA et son système électronique.
Evolutions possibles du projet
Si le temps nous le permet, nous avons déjà pensé à des améliorations pour notre projet. Nous pourrions installer un mode multijoueur en ajoutant une LED RGB supplémentaire. Elle prendra la couleur du joueur qui devra alors exécuter la prochaine séquence.
depuis la partie serveur Web, nous pourrions alors gérer le nombre de joueurs, et le mode de jeu choisi.
De plus, nous pouvons également envisager l'utiliser des capteur à ultrasons à la place de simples boutons lorsque l'utilisateur rentrera sa séquence. Il n'aura alors qu'à positionner sa main devant les capteurs souhaités.
Protocole de fonctionnement
L'envoi, la réception et la comparaison des données se fera de la façon suivante. On trouvera entre parenthèses le composant participant à la réalisation de l'étape.
- Entrée des divers paramètres de jeu par l'utilisateur (Application web)
- Génération aléatoire de la séquence (Application web)
- Envoi et réception du signal de début (Port série -> FPGA)
- Envoi des données octet par octet (Port série)
- Réception et mise en mémoire de la séquence d'allumage (FPGA)
- Envoi du signal de fin (Port série -> FPGA)
- Mise en mémoire de la séquence réalisée par l'utilisateur (FPGA)
- Comparaison entre la séquence aléatoire et la séquence réalisée par l'utilisateur (FPGA)
- Envoi d'un booléen Vrai ou Faux indiquant le succès ou non de l'opération (FPGA -> Port série)
- Affichage du succès ou non sur l'écran du smartphone (Application web)
Matériel nécessaire
- 4 LED de couleurs différentes
- 4 Interrupteurs (faisant office de boutons de jeu)
- FPGA
- Raspberry PI 3
- (optionnel :1 LED RGB)
Séance 1
- Choix du sujet
- Répartition des taches à effectuer pour la partie électronique (garder en mémoire un signal d'entrée, l'afficher et vérifier si le signal "créé" par l'utilisateur est le même, et envoyer la réponse à l'application) et la partie application (génération d'un signal aléatoire, choix de la vitesse, de la taille des séquences et du mode de jeu.
- Prise en main Raspberry
- Test de simulation d'envoie d'un signal pour allumer des LED