Contrôle de matrice leds, 2012/2013, TD3

De Wiki d'activités IMA
Révision datée du 14 mai 2013 à 13:27 par Rex (discussion | contributions) (Qualité de la réalisation)

Evaluation informatique et électronique

Gestion de projet / rédaction Wiki

  • Informatique :
  • Electronique :

Note .

Test fonctionnels

  • Sous-système.
    • Sous-système informatique : Le sous-système informatique marche parfaitement. La taille de la matrice est modifiable, l'interface est plutôt agréable et l'application Web utilise très bien la matrice 2x2 du banc d'essai. Le seul bémol est au sujet du message de déverminage JavaScript qui apparaît quand on change la taille de la matrice. Note 120%.
    • Sous-système électronique :

Qualité de la réalisation

  • Informatique : Note .
    • procédure de test : Pas de fichier LisezMoi sur la FoxBoard. Test effectué par les élèves. Testé par l'enseignant sans souci (démarrage automatique des démons). Note 100%.
    • pages HTML et Javascript : Page principale en PHP pour dessiner la matrice dynamiquement, du Javascript pour récupérer les valeurs des LEDs de la matrice. Code assez mal indenté. Note 90%.
    • scripts PHP ou programmes C : Un script cgi-bin en C tout à fait correct. Note 100%.
    • installation sur FoxBoard : Installation effectuée, configuration du port série lancé au lancement du système. Note 100%.
  • Electronique : Note .
    • qualité de la réalisation :
    • tests autonomes :

Bilan

Note finale :

Rapports des élèves

PRESENTATION

Notre projet consiste à réaliser un sous-système de gestion d'une matrice de LEDS. Pour celà nous allons créer une interface Web 2.0 afin de permettre à l'utilisateur d'allumer ou d'éteindre les leds d'une matrice.

AVANCEMENT DU PROJET

Partie informatique :

SEANCE 1

  • Création du site Web 2.0 avec le fichier index.php et style.css.

L'utilisateur peux choisir la taille de la matrice et cliquer sur les leds pour modifier la couleur de celles-ci.

  • Rélexion sur l'envoi des 8 octets correspondant à la matrice de LEDS à la carte NanoBoard les 8 octets correspondant à la matrice de LEDS

(les bits 6 et 7 pour la couleur bleu, les bits 0,1 et 2 pour le vert et les bits 3, 4 et 5 pour le rouge).

  • Création du fichier matrice.c pour la requête Ajax et pour récupérer les 8 bits d'une LED.

SEANCE 2

  • Afin d'initialiser le port série, nous avons créé les fichiers serial.c et serial_config.h.
  • La compilation s'est faite sans erreurs avec la commande : gcc serial.c matrice.c -o matrice -lgci.
  • Nous avons testé la matrice de LEDS sur la maquette en la reliant par USB au PC et en sélectionnant le mode 14 sur la maquette. Après avoir activé le port série, nous avons bien visualisé la bonne matrice sur la maquette par rapport à celle du site web de taille 16.

A la fin de la séance l'utilisateur peut donc cliquer sur les LEDS afin d'en changer la couleur (vert, rouge, jaune ou bleu) puis, en cliquant sur actualiser, la matrice de la maquette se change en fonction de celle du site.

  • Pour finaliser la partie informatique, il reste donc à utiliser la foxboard. Le but étant de pouvoir modifier la vraie matrice de LED sans qu'elle soit reliée au PC.

SEANCE 3

  • Nous avons commencé par initialiser la foxboard afin de communiquer avec par réseau :

=> Configuration de la carte Ethernet, dans le fichier /etc/network/interfaces nous avons écrit les lignes suivantes :

 auto eth0
 iface eth0 inet static
   address 172.26.79.16
   netmask 255.255.240.0
   gateway 172.26.79.254
   dns-nameservers 193.48.57.34

=> Installation du paquetage cgilib afin de pouvoir utiliser le script CGI-BIN.

=> Enfin, nous avons copié nos programmes et nos fichiers du site web sur la foxboard. Pour se connecter sur la foxBoard on a utilisé la commande: ssh 172.26.79.16. La compilation de matrice.c et de serial.c fonctionnait sans erreurs.

  • Après avoir connecté la maquette de la matrice de LEDS sur la foxBoard (avec le port USB) puis sélectionner le mode 14; nous nous sommes connecté sur l'interface web http://172.26.79.16/index.php et nous avons pu observer que les LEDS de la matrice de la maquette avaient les mêmes couleurs que celles sur site.

Pour finir, nous avons pu vérifier le bon fonctionnement de la foxBoard en faisant un reboot.


Partie électronique :

SEANCE 1

Pour bien débuter nous avons essayé de se familiariser avec Altuim et son usage pour le domaine de l’électronique numérique en suivant un tutoriel qui nous a été fourni.

Durant cette première séance on a réussi à faire le schéma qui n'est pas tout à fait terminé, mais qu'on va compléter durant la deuxième séance. Ainsi pour répondre aux taches qui nous sont posées, on s'est focalisé sur deux choses importantes:

La réception de l'information: le mode de réception des signaux qui nous seront envoyés via l'interface série RS232 qui permet de stocker l'information reçue, dans un registre de 8 bits.

Bit de validation : l'interface RS232 génère en plus de ces 8 bits, un bit qui passe de l'état 0 à l'état 1 pour permettre l'envoi de ces derniers.

Ensuite nous avons commencé a réaliser le schéma ce dernier se compose d’abord d’une bascule D qui permet d’enregistrer les bits reçus par un émetteur d’octet modéliser par un interrupteur que nous contrôlons et qui remplace l’interface série et un bit d’autorisation qui nous permet de lire les données reçues. Afin de sélectionner une colonne de la matrice de LEDS pour afficher le mot reçu par l’interface série, nous utilisons un démultiplexeur 1 vers 8, chaque broche du démultiplexeur est reliée à un registre de bascule D, ce dernier correspond à une colonne de la matrice, d'où 8 registres pour 8 colonnes de notre matrice. Enfin pour afficher le mot émit, nous faisons le travail inverse c'est-à-dire un multiplexeur qui envoie des donnés synchrones sur l’une des colonnes de la matrice. Nous allons durant la séance prochaine travailler sur le bit d’autorisation afin de sélectionner une colonne pour afficher le mot reçu.

SEANCE 2

Ce bit d'autorisation est relié à un compteur 3 bits qui sera incrémenté de 0 à 7. Si ce compteur est à 000 la bascule 0 est selectionnée, à 001 la bascule 1 est selectionnée, et ainsi de suite. Et pour relier ce compteur aux bascules on a utilisé un démultiplexeur (1 vers 8).

Pour l'affichage , on fait l'action inverse qu'on a fait tout à l'heure, les sorties des bascules sont reliées à un multiplexeur (8 vers 1) qui directement permet l'affichage du mot émis dans une colonne grace à l'ensemble compteur+démultiplexeur qui permettra de selectionner la colonne voulue. Donc cet ensemble permet de lire les 8 bits qui se trouve dans l'un des bascules et cet octect va etre envoyé sur une colonne de matrice. Durant cette séance on a réussi à faire des éssaies sur l'analyseur de spectre pour voir ce qu'on a en sortie et on a constaté qu'à chaque fois qu'on envoie un octect sur une colonne, il est envoyé à la fois sur toutes les autres colonnes . Donc c'est cette probléme qui nous reste à resoudre. Durant la prochaine fois , on va essayer de resoudre cette partie pour enfin pouvoir faire la vidéo avec nos collégues qui travaillent sur la partie informatique.