Projet IMA3 P1, 2017/2018, TD1 : Différence entre versions

De Wiki de Projets IMA
(Projet IMA3-SC 2017-2018 : Puissance 4)
(Séance supplémentaire 1)
Ligne 116 : Ligne 116 :
 
==== Partie informatique ====
 
==== Partie informatique ====
  
Nous avons commencé notre programme Arduino.
+
Nous avons commencé notre programme Arduino. Afin de faire fonctionner notre matrice LED, nous avons cherché sur internet une bibliothèque Arduino contenant des fonctions qui seraient utiles pour notre projet. Après de multiples recherches peu fructueuses, nous avons trouvé la bibliothèque "RGBMatrix" sur ce site [https://www.sparkfun.com/tutorials/201]. Cependant, cette bibliothèque était créée pour faire fonctionner plusieurs Matrices LED les unes à coté des autres. Nous l'avons donc modifié et simplifiée afin de pouvoir l'utiliser dans notre projet.
 +
 
 +
 
  
 
=== Bilan ===
 
=== Bilan ===

Version du 18 mai 2018 à 10:47

Projet IMA3-SC 2017-2018 : Puissance 4

Puissance 4

Description du Projet

Notre projet est un jeu de Puissance 4 à partir d'une matrice LED RGB de taille 8x8. Chaque colonne de la matrice est associée à un bouton poussoir. Les joueurs jouent à tour de rôle en appuyant sur les boutons pour placer leur pion. Sur une page Web, les joueurs peuvent configurer leur pseudonymes et leur couleur. La page internet permettra d'annoncer les scores et de rejouer plusieurs parties.

Cahier des charges

TO DO

Matériel nécessaire

Pour ce projet nous utiliserons:

  • Raspberry-Pi et son module WIFI "WI-PI"
  • Arduino UNO
  • Matrice LED RGB et son contrôleur
  • 8 boutons poussoirs
  • Un shield (PCB crée à partir du logiciel Fritzing)
  • Une page Web HTML pour pouvoir modifier les paramètres du jeu.

Séance 1

Cette première séance nous a permis de définir notre sujet et la liste du matériel nécessaire.

Partie informatique

Raspberry

Nous avons commencé la configuration du Raspberry afin qu'il réponde à nos besoins : connesion série avec l'Arduino, création d'un serveur Websocket... Pour cela, nous avons utilisé ce tutoriel : [1].

Ainsi, nous avons configuré la connexion série, mis à jour la distribution, et configuré la connexion via ssh qui est fonctionnelle.






Partie électronique

Découverte du logiciel Fritzing et début de création d'un shield (PCB) pour connecter la matrice LED RGB et l'Arduino.

Schéma du shield

Le shield se placera entre la matrice LED RGB et l'arduino. Il permettra tout d'abord de relier les 8 boutons aux pins 2 à 9 de l'Arduino.

Lors de la réalisation du shield nous avons fait attention à ne pas avoir de connexions qui se croisent ainsi que des angles droit. Nous avons réalisé un plan de masse et nous avons essayé de réduire au maximum la taille du shield. Néanmoins il nécessite une taille conséquente afin de pouvoir souder les boutons en face de chaque colonne de la matrice LED RGB.







Séance 2

Partie informatique

Nous avons terminé la configuration de la Raspberry. Nous avons ainsi configuré le point d'accès, les IP des clients WiFi, le nom du réseau et le serveur Web. La Raspberry est donc fonctionnelle pour notre projet.

Partie électronique

Finalisation du shield sur Fritzing, gravure de la carte et soudure.

Shield Puissance4.gif









Séance 3

Partie électronique

Nous avons terminé la partie électronique. Nous avons réalisé les dernières soudures entre la Matrice et le shield.

Partie informatique

La partie électronique terminée, nous avons cherché à faire fonctionner la matrice LED. Il nous a été difficile de comprendre le fonctionnement de la matrice et de son contrôleur.

Nous avons donc cherché sur internet des librairies Arduino faisant fonctionner ce type de matrice. Après plusieurs essais infructueux avec différentes librairies, nous avons réaliser à faire fonctionner notre matrice grâce à la librairie de ce tuto : [2]. Dans cette librairie, nous avons du remplacer

#include "WProgram.h"

par

#include "Arduino.h"

Cette librairie étant réalisée dans l'objectif de faire fonctionner plusieurs matrices connectées entre elles à la suite, nous l'avons modifié afin qu'elle soit plus adaptée à nos besoins. Ainsi, cette librairie contient les fonctions de base que nous utiliserons dans notre programme : allumer un pixel de la coueleur de notre choix, allumer/éteindre tous les pixels de la matrice, allumer une ligne/une colonne de la matrice...

Séance supplémentaire 1

Partie informatique

Nous avons commencé notre programme Arduino. Afin de faire fonctionner notre matrice LED, nous avons cherché sur internet une bibliothèque Arduino contenant des fonctions qui seraient utiles pour notre projet. Après de multiples recherches peu fructueuses, nous avons trouvé la bibliothèque "RGBMatrix" sur ce site [3]. Cependant, cette bibliothèque était créée pour faire fonctionner plusieurs Matrices LED les unes à coté des autres. Nous l'avons donc modifié et simplifiée afin de pouvoir l'utiliser dans notre projet.


Bilan