Projet IMA3 P3, 2016/2017, TD1
Sommaire
- 1 Projet IMA3-SC 2016/2017 : Le Jeu de Simon
- 1.1 Cahier des Charges
- 1.2 Description des séances
- 1.3 Conclusion
Projet IMA3-SC 2016/2017 : Le Jeu de Simon
Cahier des Charges
Description du système
- L'objectif principal de notre projet est de réaliser un jeu qui utilise à la fois les lumières et le son. Pour cela, nous avons pensé à deux versions : le Simon et un jeu du type Guitar Hero.
- Le Simon est constitué de quatre boutons de couleurs différentes : un bleu, un rouge, un vert et un jaune. Le jeu va afficher une séquence de couleurs qui sont chacune associées à un son. Le joueur doit ensuite se souvenir de la suite (en s'aidant du son et des couleurs comme moyen mnémotechnique) pour la reproduire dans le bon ordre en appuyant sur les boutons.
- Le jeu Guitar Hero, quant à lui, est un jeu où il faut actionner des boutons de couleur précise, au moment où elles apparaissent sur une barre de défilement, à l'écran. Ces différentes activations, aux bons moments, permettent de réaliser une mélodie plus ou moins complexe selon la difficulté de la chanson à reproduire. Le tout est effectué grâce à une guitare connectée, afin de pousser l'expérience de simulation un peu plus loin. Si nous réalisons, ce jeu, il faut prendre en compte un affichage plus complexe. De plus, le Guitar Hero ajoute une notion de temps de réponse, plus difficile à gérer. Ce temps de réponse permet de laisser une courte marge d'erreur dans la réactivité de l'utilisateur, pour simuler pleinement l'utilisation d'une guitare électrique.
Nous avons choisis de d'abord nous concentrer sur le Simon et de faire le jeu Guitar Hero seulement si nous avons le temps.
Le matériel
Pour ce projet nous utiliserons :
- Une page internet sur l'ordinateur pour pouvoir modifier les différents aspects du jeu : les règles du jeu, la musique jouée par le Simon ou bien la difficulté
- Le Raspberry Pi, utilisée en tant que serveur, va envoyer les données en série ( qui seront traitées par le FPGA ), de les recupérer, et de faire l'algorithme.
- Une carte Arduino pour relier la Raspberry Pi aux composants dans un premier temps : elle nous permet de coder en C (au lieu d'un langage assembleur) pour créer des programmes et gérer les différents modules tel que les boutons et les LEDs. Elle permettra une simulation momentanée du FPGA, afin que nous puissions avancer sur la partie informatique, sans attendre d'en avoir fini avec la partie FPGA.
- Une fois le programme et les interactions fonctionnels, nous remplacerons l'Arduino par une FPGA qui est circuit logique programmable : on peut modifier les circuits logiques à l'intérieur mais on ne peut pas créer un programme avec un langage de plus haut niveau. Nous devrons donc utiliser des logiciels tiers qui nous permettront de placer des portes logiques (ET, OU,...) pour créer notre programme en assembleur.
- Pour ce qui est de la partie mécanique, nous réaliserons une guitare en bois pour le "Guitar Hero" ainsi qu'un "jeu de Simon" réalisé via l'impression 3D.
- Si le temps nous le permet, nous utiliserons un Xbee pour créer une connexion sans fil, afin d'expérimenter un module nouveau et acquérir de nouvelles compétences.
- Nous utiliserons également des composants électroniques tels que des boutons poussoirs, des LEDs ou une matrice de LEDs pour l'affichage dans le cas du jeu de Simon, ainsi que de "l'essentiel" pour un système communiquant (à savoir résistances, fils électriques, etc...)
Description des séances
21/03/17 Séance 1 : Répartition des tâches et premiers pas
La première séance fut consacrée à la répartition des rôles et à la prise de conscience de la difficulté des différentes tâches. L'idée de faire un « jeu de Simon » que nous amélioreront ensuite en « guitar hero » a cependant était conservée.
Partie électronique
Partie informatique
Partie mécanique : un modèle de guitare à découper
Dans cette première séance, nous avons décidé de focaliser nos premiers efforts sur la partie mécanique du "guitar hero". En effet, le « jeu de simon » pouvait être avancé plus tard car plus facile à modéliser et à réaliser. Nous sommes alors partis sur l'idée de créer une maquette de guitare, sur laquelle nous allions disposer différents boutons de couleur, actionnables grâce à une pression sur le manche de l'instrument. Nous avions une ligne directrice mais pas encore d'idée précise de comment allait être réalisé la guitare, ni même ce à quoi elle allait ressembler.
Nous avons décidé de découper la guitare en bois qui nous servirait de support pour notre « guitar hero » grâce à la découpeuse laser. Pour se faire, un fichier conforme à la découpe devait être réalisé. Ainsi nous avons donc pris une image de guitare depuis internet. Dans le logiciel « GIMP », nous avons ensuite repassé les contours de l'instrument en rouge. Une fois ceci fait, nous avons effacé l'image de la guitare originale pour ne garder que les contours rouges. Enfin après quelques réglages, l'export en fichier SVG permettait une découpe précise.
A la fin de la séance, la guitare était prête à être réalisée et nous avons décidé de faire l'intégralité du « jeu de simon » via l'impression 3D. Cependant, aucune grande avancée n'a eu lieu sur la partie mécanique du jeu de Simon lors de cette séance.
28/03/17 Séance 2 : Poursuite du Projet et rencontre des premiers problèmes
La deuxième séance fut davantage productive, car chacun de nous savait les différentes tâches qu'il lui restait à accomplir.
Partie électronique
Partie informatique
Partie mécanique : découpe de la guitare, modélisation et impression d'un prototype de touches pour cette dernière
Cette séance fut entamée par la découpe de la guitare grâce à la découpeuse laser du Fabricarium de Polytech. Dans un premier temps il a d'abord était nécessaire « d'apprivoiser » la découpeuse et d'apprendre à bien la configurer pour obtenir le résultat souhaité, sans risques. Un premier essai a d'abord était réalisé dans du carton pour pouvoir juger des différentes dimensions de la guitare. Enfin, une seconde version, en bois, fut réalisée durant cette séance. Finalement nous décidons de partir sur l'idée d'une guitare réalisée en 4 couches d'épaisseur : 2 extérieures en bois ( une de face, décorée avec les boutons à actionner et la carte arduino et une seconde, arrière, de protection), et deux intérieures en carton(creusées pour laisser passer les fils de connectiques).
Note : Malheureusement, une des couche en bois a était cassée par la suite lors de la confection de la guitare. La panne prolongée de la découpeuse laser nous a contraint à renoncer à l'idée d'une quatrième couche en bois de protection.
De plus, via le logiciel de modélisation FreeCAD, nous avons commencé à concevoir deux prototypes de « touches » (boutons) pour la guitare.
L'idée était de créer des surfaces larges (pouvant recueillir une phalange de doigts au minimum) faisant office de touches, en dessous desquelles nous insérerions un bouton poussoir 4 pins (fournis par les professeurs). La création de touches plus larges était indispensable. En effet, les boutons poussoirs étaient bien trop petits pour avoir un actionnement facile et agréable. Nous avons pu lancer l'impression des touches à la fin de la séance. Cependant, les différents tests et les défauts d'impression nous ont fait comprendre qu'il serait difficile de « glisser » un bouton poussoir dans une touche avec un espace assez étroit pour le maintenir, sans pour autant bloquer son actionnement lorsqu'une pression était appliquée. De plus, la fixation risquait d'être assez complexe. Nous avons alors décidé de faire un tout autre type de touche mais avec le même fonctionnement. Pour cela nous allions avoir besoin de modéliser et d'imprimer de nouveaux un prototype de touche. Il allait ensuite falloir percer la première couche en bois de la guitare. Puis il serait également nécessaire de creuser les sous couches en carton pour y placer les boutons poussoirs et les différents câbles.