Contrôle de matrice leds, 2014/2015, TD2

De Wiki d'activités IMA

1. Présentation du projet

Le projet matrice de leds de taille 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 - une 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