Contrôle de matrice leds, 2014/2015, TD1
Sommaire
Projet IMA3-SC 2014/2015 : Matrice LEDS
Giovannangeli Florian
Ung Nicky
Wegrzyn Nicolas
Présentation du projet
Le projet consiste à la réalisation de la gestion d'une matrice de LEDS 8x8. L'utilisateur doit donc pouvoir afficher un dessin sur 64 pixels via une interface web. Le travail repose sur deux composantes :
- Une partie informatique représentant la matrice de LEDS sur l'interface, permettant ainsi d'allumer les LEDS que l'utilisateur souhaite.
- Une partie électronique servant à décoder le message envoyé depuis l'interface et à l'afficher sur la matrice.
Séance 1
Partie électronique
Le but a été de prendre en main le sujet, le logiciel Altium Designer Summer 09 ainsi que la NanoBoard. Après lecture du cahier des charges, nous avons décidé de simuler un envoi de données et l'affichage sur des LEDS, sachant que nous utilisons une matrice en mode monocouleur. Dans un premier temps, le signal part de la liaison série, nous devons le recevoir comme un signal de 1 octet. De plus, nous devons stocker ces 8 octets car le but est d'afficher les 8x1 octets en même temps, nous utilisons donc des bascules pour alterner les différents envois de signaux. D'autre part, nous avons besoin de générer un bit de selection pour choisir la colonne à allumer. Ces réflexions nous ont conduit à choisir nos composants et à établir un premier schéma qui nous servira de base pour la suite :
Séance 2
Partie électronique
Etablissement du schéma Altium
Nous avons décidé de modéliser notre premier schéma sur le logiciel Altium. Voici le résultat :
=> Le générateur modélise la liaison série de l'interface web en générant 8bits.
=> Les bascules contiennent les mots de 8 bits afin de les délivrer au MUX.
=> L'horloge permet aux bascules de délivrer ou non l'octet qu'elles contiennent.
=> Le MUX permet d'envoyer le message souhaité via un compteur 8 bits (il y a donc un signal allant de 0 à 7 désignant sur quelle colonne envoyer le mot).
Problèmes : Il n'est pas possible, avec ce schéma, de sélectionner la colonne où on attribue le mot. De plus, l'horloge déclenche toutes les bascules en même temps !
Correction des défauts
Suite aux différents problèmes rencontrés précédemment, voici le second schéma que nous avons adopté :
=> Le DEMUX situé en avant des bascules permet de palier au problème du choix de la bascule à actionner. En effet, avec cette configuration le DEMUX 1 vers 8 peut sélectionner l'entrée de la bascule souhaitée.
=> Un compteur 3 bits a été ajouté devant le précédent DEMUX. C'est le compteur qui décide de la sortie à commander. En effet, sur 3 bits, on peut compter de 0 à 7, on peut ainsi sélectionner une bascule parmi 8 et non toutes à la fois comme sur le schéma1.
=> Nous avons également ajouté un deuxième bloc compteur/DEMUX qui nous permet de choisir la colonne de la matrice sur laquelle on souhaite envoyer l'information. En ce qui concerne la version précédente, on pouvait envoyer un octet sur une des 8 lignes mais on ne pouvait pas choisir la colonne.