Projet IMA3 P6, 2017/2018, TD2, SEEGA
Sommaire
Projet IMA3-SC 2017-2018 : Projet SEEGA
Projet informatique
Description du projet
Le projet consiste en un jeu de plateau connecté. Il permettrait à 2 personnes de jouer l'une contre l'autre (le joueur 1 sur le vrai plateau et le joueur 2 sur ordinateur).
Cahier des charges
Titre du sujet
Projet SEEGA
Description du système
Les pions du joueur 1 seraient détectés par un capteur de ligne et les pions du joueur 2 seraient simulés par des leds sous le plateau (en plexiglas), allumées aux endroits correspondants aux cases en question.
Matériel nécessaire
- 1 Arduino
- 3 registres à décalage
- 25 leds blanches
- 25 capteurs de ligne
- 1 plaque de plexiglass 30*30cm de 3mm d'épaisseur
- 1 plaque de bois usinable pour la découpe du coffre du plateau et des pions
- 12 pions noirs circulaires environ 4 cm de diamètre (découpeuse laser)
- 12 gommettes réfléchissantes
- 25 résistances 180 Ohm
Séance 1
Choix du sujet, définition des besoins électroniques et informatiques.
Séparation des tâches et partage du travail à effectuer.
Côté informatique : Début de la configuration de la Raspberry Pi pour permettre la liaison série.
Côté électronique :
Cette séance s'est portée principalement sur la découverte du FPGA. Au travers d'un tutoriel, nous avons créé un compteur sur Altium et dont la valeur s'affiche sur des LED. Nous nous somme alors familiarisé avec cette carte électronique et avec son fonctionnement.
Durant la dernière heure, nous nous somme intéressé à nos capteur de lignes. N'ayant pas trouvé la datasheet, nous avons alors effectué différents test afin de déterminer les caractéristiques et le fonctionnement de ces modules. Chaque composant est alors alimenté sous une tension de 5V, une led infrarouge émet un rayonnement qui revient vers un capteur si une surface réfléchissante est présente. Le capteur peut alors renvoyer entre 0V quand il y a réflexion totale et 5V s'il n'y a aucun obstacle. Afin de maximiser l'efficacité du capteur il nous faut donc une surface la plus réfléchissante possible à disposer sous nos pions.
Séance 2
Travail à la maison : Dessin du circuit électronique et codage en Javascript du jeu Seega (+affichage graphique).
Côté informatique : Suite et fin de la configuration de la Raspberry Pi. On peut désormais s'y connecter via ssh ou mieux, en wi-fi.
Côté électronique :
Lors de cette séance nous nous somme dans un premier temps intéressé à réaliser un matrice de led. Nous avons trouvé 2 solutions permettant de la concevoir:
La première solution utilise 5 résistances, 25 leds et occupe 10 pins de l'arduino. 5 pins servent à contrôler chaque ligne, et les 5 autres les colonnes.
Pour allumer une seule led, perexemple la premiere il suffit donc de mettre tous les pins "ligne" à l'état LOW sauf la celui de la première ligne en HIGH.
A cette étape toute la ligne s'allume, pour palier à cela on laisse notre pin "colonne" correspondant à l'état LOW, et les autre en HIGH.
Maintenant pour allumer plusieurs led, on utilisera la perséstance rétinienne. C'est à dire que l'on va allumer et éteindre chaque led de manière très rapide. L'oeil lui ne va pas percevoir ce clignotement et verra les leds allumées.
Nous avons aussi commencé à réaliser la partie du montage électronique à faire sur Altium.
Séance 3
Partie électronique:
- FPGA:
Nous avons essayé de corriger certains problèmes concernant le schéma sur Altium. En effet, les ports de sortie et le multiplexeur empêchaient la compilation. Nous n'avons malheureusement pas réussi à les résoudre.
- PCB:
Cette séance a été dédiée à la conception du circuit électronique du plateau de jeu afin de rendre les branchements plus faciles. Pour cela nous avons utilisé le logiciel frizing qui permet d'un côté de réaliser un schéma du montage, et d'un autre de dessiner la carte. La tâche s'est avérée plus complexe que nous ne le pensions au vu de la disposition et du nombre de composants en jeu. Il a fallu recommencer plusieurs fois et continuer le travail à la maison pour en arriver au résultat final et envoyer la carte électronique en fabrication.
Partie informatique:
Ajout du fichier html contenant le jeu sur la Raspberry Pi. On peut désormais y jouer via internet en se connectant en wifi à la Raspberry. Divers essais pour permettre la communication entre la Raspberry et l'Arduino mais sans réussite.
Partie maquette:
Avant la séance nous avons réfléchi et créé le logo pour notre projet. Nous avons alors réservé la découpeuse laser dans le but de graver et de fabriquer les jetons pour notre plateau.