Projet IMA3 P6, 2015/2016, TD1 : Différence entre versions

De Wiki de Projets IMA
(Cahier des charges)
 
(9 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 2 : Ligne 2 :
  
 
== Cahier des charges ==
 
== Cahier des charges ==
 +
=== Composants requis ===
  
I) Composants requis :
+
* (x1) : Capteur de pression
 
+
* (x1) : Capteur de couleurs
- (x1) : Capteur de pression
+
* (x12) : Afficheurs 16-segments
 
+
* (x4) : Boutons poussoirs
- (x1) : Capteur de couleurs
+
* (x1) : Interrupteur Tout-ou-Rien
 
 
- (x12) : Afficheurs 16-segments
 
 
 
- (x4) : Boutons poussoirs
 
 
 
- (x1) : Interrupteur Tout-ou-Rien
 
  
 
(les valeurs sont susceptibles de changer suivant les modifications à apporter dans le projet)
 
(les valeurs sont susceptibles de changer suivant les modifications à apporter dans le projet)
  
II) Composants à fabriquer :
+
=== Composants à fabriquer ===
  
- Disque coloré
+
* Disque coloré
 +
* Support
  
- Support
+
=== Tâches à effectuer ===
  
 +
* (1) : Programmer des modules de gestion du capteur couleur
 +
* (2) : Programmer des modules de gestion du capteur de pression (ou d'un bouton)
 +
* (3) : Programmer l'interface utilisateur
 +
** (3.a) : Demander à l'utilisateur le nombre N de couleurs à mémoriser
 +
** (3.b) : Générer une liste de N couleurs et les stocker en mémoire (à partir d'une liste de couleurs déjà existante)
 +
** (3.c) : Fonction de comparaison de la couleur en attente de validation par l'utilisateur
 +
* (4) : Initialiser la liste des couleurs à l'aide du disque coloré :
 +
** (4.a) : Sous forme textuelle, code pour afficheur
 +
** (4.b) : Sous forme exploitable, code RGB
 +
* (5) : Créer les messages :
 +
** (5.a) : Nombre de couleurs
 +
** (5.b) : Succès mémorisation de la k-ème couleur
 +
** (5.c) : Echec mémorisation de la k-ème couleur
 +
** (5.d) : Succès du test
  
III) Taches à effectuer :
+
=== Réalisation du système ===
  
- (1) : Programmer des modules de gestion du capteur couleur
+
* Le système devra permettre à l'utilisateur rentrer un nombre entier qui sera stocké en mémoire
 +
* Le système devra générer une liste de couleurs à partir d'une liste des couleurs pré-enregistrées
 +
* Le système affichera les couleurs textuelles une par une pour que l'utilisateur puisse les mémoriser avec une validation (ex: bouton poussoir)
 +
* Lorsque la dernière couleur aura été confirmée par l'utilisateur le système demandera via les afficheurs à l'utilisateur si il est prêt à commencer le test
 +
* Le disque coloré permettra à l'utilisateur de choisir la couleur puis la validera via un bouton poussoir
 +
* Le système affichera un message de validation ou d'echec suivant la réussite ou l'échec pour la mémorisation de la k-ème couleur. Si l'utilisateur réussi, le système enchaîne avec la couleur suivante, ou valide le test s'il s'agissait de la dernière couleur (deuxième message de réussite) sinon il se réinitialise pour une partie suivante.
  
- (2) : Programmer des modules de gestion du capteur de pression (ou d'un bouton)
+
== Séance 1 ==
  
- (3) : Programmer l'interface utilisateur
+
=== Partie électronique ===
  
- (3.a) : Demander à l'utilisateur le nombre N de couleurs à mémoriser
+
Retrait du capteur couleur pour simplifier le système.
 +
Le disque devient une palette rectangulaire où les couleurs sont sélectionnées par les leds puis la couleur choisie sera validée par un bouton.
 +
On a, donc, retiré le moteur qui pilotait le disque.
 +
On utilisera un bloc de 32 afficheurs pour l'interface.
  
- (3.b) : Générer une liste de N couleurs et les stocker en mémoire (à partir d'une liste de couleurs déjà existante)
 
  
- (3.c) : Fonction de comparaison de la couleur en attente de validation par l'utilisateur
+
=== Partie informatique ===
  
- (4) : Initialiser la liste des couleurs à l'aide du disque coloré :
+
I) Modifications apportées au cahier des charges
  
- (4.a) : Sous forme textuelle, code pour afficheur
+
Pour des raisons de contraintes matérielles et logicielles, nous avons décidé de nous orienter vers un système où :
  
- (4.b) : Sous forme exploitable, code RGB
+
- L'affichage des messages destinés à l'utilisateur se fait via un écran LCD 16x2. -> abandon des 12 afficheurs 16 segments.
  
- (5) : Créer les messages :
+
- La sélection des couleurs (seconde partie) ne se fait plus via un disque coloré asservi par un servomoteur et soumis à un capteur mais à l'aide d'une série de 8 LED auxquelles sont associées 8 couleurs et le choix se fait à l'aide de 3 boutons poussoirs pour se déplacer à gauche ou à droite et de valider le choix.
  
- (5.a) : Nombre de couleurs
+
- Il est possible pour l'utilisateur de choisir un niveau de difficulté :
 +
    - Facile : Lors de la partie mémorisation, l'utilisateur décide quand le système est autorisé à passer à la couleur suivante
 +
    - Normal : Le système, montre via 4 LED, initialement allumées au début d'une couleur à mémoriser, le temps qu'il reste avant changement de couleur
 +
              (les LED s'éteignent une par une puis le système change lorsqu'elles se sont toutes éteintes)
 +
    - Difficile : Même principe mais avec un délais plus court
  
- (5.b) : Succès mémorisation de la k-ème couleur
 
  
- (5.c) : Echec mémorisation de la k-ème couleur
+
II) Bilan de la séance
  
- (5.d) : Succès du test
+
- Le programme gérant l'affichage LCD est réalisée et pourra être adapté selon les cas
  
 +
- Le programme gérant les LED est en cours d'implémentation
  
IV) Réalisation du système :
+
- Le programme du décompte du temps imparti est encore sur feuille et devra être implémenté et testé sous arduino
- Le système devra permettre à l'utilisateur rentrer un nombre entier qui sera stocké en mémoire
 
  
- Le système devra générer une liste de couleurs à partir d'une liste des couleurs pré-enregistrées
+
== Séance 2 ==
  
- Le système affichera les couleurs textuelles une par une pour que l'utilisateur puisse les mémoriser avec une validation (ex: bouton poussoir)
+
=== Partie électronique ===
 
 
- Lorsque la dernière couleur aura été confirmée par l'utilisateur le système demandera via les afficheurs à l'utilisateur si il est prêt à commencer le test
 
  
- Le disque coloré permettra à l'utilisateur de choisir la couleur puis la validera via un bouton poussoir
+
- Définition exacte des tâches à effectuer
  
- Le système affichera un message de validation ou d'echec suivant la réussite ou l'échec pour la mémorisation de la k-ème couleur. Si l'utilisateur réussi, le système enchaîne avec la couleur suivante, ou valide le test s'il s'agissait de la dernière couleur (deuxième message de réussite) sinon il se réinitialise pour une partie suivante.
+
- Début de la configuration FPGA sous Altium
  
== Séance 1 ==
+
- Configuration terminée pour le défilement des LEDs
 
 
=== Partie électronique ===
 
  
 
=== Partie informatique ===
 
=== Partie informatique ===
  
== Séance 2 ==
+
== Séance 3 ==
  
 
=== Partie électronique ===
 
=== Partie électronique ===
  
=== Partie informatique ===
+
- Début de la configuration de sélection et de retour des sorties pour les couleurs
  
== Séance 3 ==
+
- Configuration terminée pour la sélection des couleurs et l'activation/désactivation de la phase de sélection
 
 
=== Partie électronique ===
 
  
 
=== Partie informatique ===
 
=== Partie informatique ===

Version actuelle datée du 31 décembre 2016 à 23:32

Projet IMA3-SC 2015/2016 : Titre

Cahier des charges

Composants requis

  • (x1) : Capteur de pression
  • (x1) : Capteur de couleurs
  • (x12) : Afficheurs 16-segments
  • (x4) : Boutons poussoirs
  • (x1) : Interrupteur Tout-ou-Rien

(les valeurs sont susceptibles de changer suivant les modifications à apporter dans le projet)

Composants à fabriquer

  • Disque coloré
  • Support

Tâches à effectuer

  • (1) : Programmer des modules de gestion du capteur couleur
  • (2) : Programmer des modules de gestion du capteur de pression (ou d'un bouton)
  • (3) : Programmer l'interface utilisateur
    • (3.a) : Demander à l'utilisateur le nombre N de couleurs à mémoriser
    • (3.b) : Générer une liste de N couleurs et les stocker en mémoire (à partir d'une liste de couleurs déjà existante)
    • (3.c) : Fonction de comparaison de la couleur en attente de validation par l'utilisateur
  • (4) : Initialiser la liste des couleurs à l'aide du disque coloré :
    • (4.a) : Sous forme textuelle, code pour afficheur
    • (4.b) : Sous forme exploitable, code RGB
  • (5) : Créer les messages :
    • (5.a) : Nombre de couleurs
    • (5.b) : Succès mémorisation de la k-ème couleur
    • (5.c) : Echec mémorisation de la k-ème couleur
    • (5.d) : Succès du test

Réalisation du système

  • Le système devra permettre à l'utilisateur rentrer un nombre entier qui sera stocké en mémoire
  • Le système devra générer une liste de couleurs à partir d'une liste des couleurs pré-enregistrées
  • Le système affichera les couleurs textuelles une par une pour que l'utilisateur puisse les mémoriser avec une validation (ex: bouton poussoir)
  • Lorsque la dernière couleur aura été confirmée par l'utilisateur le système demandera via les afficheurs à l'utilisateur si il est prêt à commencer le test
  • Le disque coloré permettra à l'utilisateur de choisir la couleur puis la validera via un bouton poussoir
  • Le système affichera un message de validation ou d'echec suivant la réussite ou l'échec pour la mémorisation de la k-ème couleur. Si l'utilisateur réussi, le système enchaîne avec la couleur suivante, ou valide le test s'il s'agissait de la dernière couleur (deuxième message de réussite) sinon il se réinitialise pour une partie suivante.

Séance 1

Partie électronique

Retrait du capteur couleur pour simplifier le système. Le disque devient une palette rectangulaire où les couleurs sont sélectionnées par les leds puis la couleur choisie sera validée par un bouton. On a, donc, retiré le moteur qui pilotait le disque. On utilisera un bloc de 32 afficheurs pour l'interface.


Partie informatique

I) Modifications apportées au cahier des charges

Pour des raisons de contraintes matérielles et logicielles, nous avons décidé de nous orienter vers un système où :

- L'affichage des messages destinés à l'utilisateur se fait via un écran LCD 16x2. -> abandon des 12 afficheurs 16 segments.

- La sélection des couleurs (seconde partie) ne se fait plus via un disque coloré asservi par un servomoteur et soumis à un capteur mais à l'aide d'une série de 8 LED auxquelles sont associées 8 couleurs et le choix se fait à l'aide de 3 boutons poussoirs pour se déplacer à gauche ou à droite et de valider le choix.

- Il est possible pour l'utilisateur de choisir un niveau de difficulté :

   - Facile : Lors de la partie mémorisation, l'utilisateur décide quand le système est autorisé à passer à la couleur suivante
   - Normal : Le système, montre via 4 LED, initialement allumées au début d'une couleur à mémoriser, le temps qu'il reste avant changement de couleur
              (les LED s'éteignent une par une puis le système change lorsqu'elles se sont toutes éteintes)
   - Difficile : Même principe mais avec un délais plus court


II) Bilan de la séance

- Le programme gérant l'affichage LCD est réalisée et pourra être adapté selon les cas

- Le programme gérant les LED est en cours d'implémentation

- Le programme du décompte du temps imparti est encore sur feuille et devra être implémenté et testé sous arduino

Séance 2

Partie électronique

- Définition exacte des tâches à effectuer

- Début de la configuration FPGA sous Altium

- Configuration terminée pour le défilement des LEDs

Partie informatique

Séance 3

Partie électronique

- Début de la configuration de sélection et de retour des sorties pour les couleurs

- Configuration terminée pour la sélection des couleurs et l'activation/désactivation de la phase de sélection

Partie informatique

Démonstration

Conclusion