Contrôle de matrice leds, 2014/2015, TD2 : Différence entre versions

De Wiki de Projets IMA
Ligne 9 : Ligne 9 :
 
- matrice de leds
 
- matrice de leds
  
[[Fichier:8x8Matrix4.gif]]
 
  
  
2. Première séance
 
  
2.1 Partie informatique
+
'''2. Première séance'''
 +
 
 +
 
 +
2.1 '''Partie informatique'''
 +
 
 
Lors de cette première séance, nous avons commencé par nous intéresser à l'interface web, avec javascript et canvas.
 
Lors de cette première séance, nous avons commencé par nous intéresser à l'interface web, avec javascript et canvas.
 
L'utilisateur utilise cette page pour voir l'état de la matrice de LEDs (lesquelles sont allumées ou non), et pour interagir avec. Il peut, en cliquant sur la représentation de cette matrice, allumer celle(s) qu'il veut, voir en changer la couleur.
 
L'utilisateur utilise cette page pour voir l'état de la matrice de LEDs (lesquelles sont allumées ou non), et pour interagir avec. Il peut, en cliquant sur la représentation de cette matrice, allumer celle(s) qu'il veut, voir en changer la couleur.
Ligne 21 : Ligne 23 :
 
Pour arriver à dessiner le nombre voulu de LEDs, la fonction ajoutDiqsues a été modifiée de la sorte qu'elle créée un tableau de la taille de la matrice et dans chaque case, elle créée un canvas, qui sera ensuite dessinée.
 
Pour arriver à dessiner le nombre voulu de LEDs, la fonction ajoutDiqsues a été modifiée de la sorte qu'elle créée un tableau de la taille de la matrice et dans chaque case, elle créée un canvas, qui sera ensuite dessinée.
 
Il reste à réussir à changer la couleur des LEDs.
 
Il reste à réussir à changer la couleur des LEDs.
 +
  
 
2.2 '''Partie Electronique'''
 
2.2 '''Partie Electronique'''
Lors de cette première séance, nous avons commencé par comprendre le fonctionnement de le matrice de LEDS.  
+
Lors de cette première séance, nous avons commencé par comprendre le fonctionnement de le matrice de LEDS.
On a donc décidé que pour gérer l'affichage du dessin par le navigateur web, on allumera les colonnes une par une à une fréquence élevée. Ainsi on pourra observer le dessin dans son intégralité, sans avoir besoin d'allumer toutes les colonnes en même temps. Cela permet entre autre une économie d'énergie.
+
Comme la matrice de LEDs se compose que de 16 entrées,  on peut afficher qu'une seule colonne ou ligne à la fois. Nous avons choisi l'affichage colonne par colonne.
 +
Pour cela, on divise les entrées en deux catégories, 8 entrées serviront à choisir la colonne à allumer et les 8 autres restantes serviront à envoyer le message voulu sur la colonne. Pour permettre une observation de la matrice dans son intégralité, on allume les colonnes une par une à une fréquence élevée. Cela permet entre autre une économie d'énergie.
  
a ajouter: expliquer pk on affiche colonne par colonne( seulement 16 entées)
 
  
Nous avons donc commencé à réfléchir sur le circuit électrique à réaliser, et ses éléments.  
+
 
 +
Nous avons donc commencé à réfléchir sur le circuit électrique à réaliser sur ALtium, et ses éléments.  
 +
 
Nous avons choisis les éléments suivants:
 
Nous avons choisis les éléments suivants:
- un simulateur de bus et un bit de signalisation de données sur le bus;
+
- un simulateur de bus;
 
- un multiplexeur 1 vers 8;
 
- un multiplexeur 1 vers 8;
 
- un compteur qui permet de gérer la colonne à allumer;
 
- un compteur qui permet de gérer la colonne à allumer;
 
- un simulateur d'horloge;
 
- un simulateur d'horloge;
 +
- un registre à décallage
 +
 +
 +
 +
 +
'''
 +
3.Deuxiéme séance'''
 +
 +
3.1 Partie Informatique
 +
 +
 +
3.2 Partie Electronique
  
 +
Lors de cette deuxième nous avons principalement créé le circuit sur Altium et effectué des tests.
 +
Dans un premier temps, nous nous sommes rendu compte qu'il fallait que l'on stocke le mot de 8 bits envoyé par le simulateur de bus, pour cela on a utilisé un multiplexeur 1 vers 8 avec un compteur. Le multiplexeur envoie alors le mot généré dans une bascule D qui permet le stockage, une bascule par colonne. Le compteur permet à chaque tour de changer de bascule D. On a donc utilisé un compteur qui compte jusque 7, il suffisait donc de 3 bits.
  
 +
Maintenant que le message voulu sur la colonne a été enregistré puis envoyer, il a fallut trouver un moyen d'envoyer le mot sur la bonne colonne, puis d'éteindre le colonne pour passer au message suivant. Pour cela on utilise un registre à décalage. Il permet d'allumer tour à tour les colonnes.
 +
Nous aurions pu utiliser un multiplexeurs comme pour l'enregistrement des mots. Mais le registre à décalage nous permet d'éviter le compteur.
  
  
  
3.Deuxiéme séance
+
Nous avons donc notre mot
3.1 P.e
+
-> expliquer l'usage du registre à décalage, et le sli à 1 pour décaler
-> expliquer l'usage du registre à décallage, et le sli à 1 pour décaler
 

Version du 19 mars 2015 à 12:52

1. Présentation du projet

Le projet matrice de leds de taile 8x8 consiste à gérer l'allumage des leds. De plus, l'interface web permettra de dessiner sur cette matrice 8x8.

Pour cela nous utilisons: - une nanoboard - une foxboard - un banc d'essai - matrice de leds



2. Première séance


2.1 Partie informatique

Lors de cette première séance, nous avons commencé par nous intéresser à l'interface web, avec javascript et canvas. L'utilisateur utilise cette page pour voir l'état de la matrice de LEDs (lesquelles sont allumées ou non), et pour interagir avec. Il peut, en cliquant sur la représentation de cette matrice, allumer celle(s) qu'il veut, voir en changer la couleur. Par défaut, la matrice utilisée est de taille 8x8, mais l'utilisateur doit pouvoir être en mesure de choisir une autre taille. Cependant, on suppose que la matrice voulue est carrée. Pour changer la taille, nous avons mit en place un bouton qui fait appel à la fonction changeTaille lorsque l'on clique dessus. Cette fonction demande à l'utilisateur le nombre total de LED de la matrice, puis relance la fonction d'ajoutDisque, qui dessine les disques. Pour arriver à dessiner le nombre voulu de LEDs, la fonction ajoutDiqsues a été modifiée de la sorte qu'elle créée un tableau de la taille de la matrice et dans chaque case, elle créée un canvas, qui sera ensuite dessinée. Il reste à réussir à changer la couleur des LEDs.


2.2 Partie Electronique Lors de cette première séance, nous avons commencé par comprendre le fonctionnement de le matrice de LEDS. Comme la matrice de LEDs se compose que de 16 entrées, on peut afficher qu'une seule colonne ou ligne à la fois. Nous avons choisi l'affichage colonne par colonne. Pour cela, on divise les entrées en deux catégories, 8 entrées serviront à choisir la colonne à allumer et les 8 autres restantes serviront à envoyer le message voulu sur la colonne. Pour permettre une observation de la matrice dans son intégralité, on allume les colonnes une par une à une fréquence élevée. Cela permet entre autre une économie d'énergie.


Nous avons donc commencé à réfléchir sur le circuit électrique à réaliser sur ALtium, et ses éléments.

Nous avons choisis les éléments suivants: - un simulateur de bus; - un multiplexeur 1 vers 8; - un compteur qui permet de gérer la colonne à allumer; - un simulateur d'horloge; - un registre à décallage



3.Deuxiéme séance

3.1 Partie Informatique


3.2 Partie Electronique

Lors de cette deuxième nous avons principalement créé le circuit sur Altium et effectué des tests. Dans un premier temps, nous nous sommes rendu compte qu'il fallait que l'on stocke le mot de 8 bits envoyé par le simulateur de bus, pour cela on a utilisé un multiplexeur 1 vers 8 avec un compteur. Le multiplexeur envoie alors le mot généré dans une bascule D qui permet le stockage, une bascule par colonne. Le compteur permet à chaque tour de changer de bascule D. On a donc utilisé un compteur qui compte jusque 7, il suffisait donc de 3 bits.

Maintenant que le message voulu sur la colonne a été enregistré puis envoyer, il a fallut trouver un moyen d'envoyer le mot sur la bonne colonne, puis d'éteindre le colonne pour passer au message suivant. Pour cela on utilise un registre à décalage. Il permet d'allumer tour à tour les colonnes. Nous aurions pu utiliser un multiplexeurs comme pour l'enregistrement des mots. Mais le registre à décalage nous permet d'éviter le compteur.


Nous avons donc notre mot -> expliquer l'usage du registre à décalage, et le sli à 1 pour décaler