Projet IMA3 P1, 2015/2016, TD1

De Wiki d'activités IMA

Projet IMA3-SC 2015/2016 : Titre

Cahier des charges

Dans le cadre du projet IMA3 , nous avons décidé de réaliser un afficheur qui ferais défiler une phrase saisie par le biais d'une application web . L'application enverrais cette phrase par le biais du port série à la carte électronique et aux afficheurs. Nous avons l'intention de réaliser cela grâce à des afficheurs 16 segments.

Le matériel nous paraissant indispensable est le suivant :

  • une vingtaine d'afficheurs 16 segments
  • une nanoboard
  • une Raspberry Pi

Séance 1

Partie électronique

Nous avons commencé par nous familiariser avec les différentes opérations logiques réalisable grâce au logiciel altium .


schéma réalisé sur logisim

Nous avions préalablement réalisé un schéma logique afin de comprendre le fonctionnement d'afficheur par le biais du logiciel logisim mais avons ensuite découvert que le port série envoyait déjà les données en binaire .Ce code précisant les afficheurs sollicités il faudra par la suite réaliser un lien entre les données entrantes et les différents port des afficheurs.






Nous avons ensuite réalisé un module permettant de décaler les lettres au fur et a mesure que la phrase s'affiche de manière à ce que l'on puisse afficher une phrase plus grande .

Partie informatique

Nous avons commencé à implémenter la partie réseau et à faire les tests à partir de l'arduino fournie .

Nous avons également découvert que le passage de la lettre ASCII en codage afficheur devait être implémenté dans le programme . Nous avons donc commencé à coder chaque lettre en binaire à partir de la disposition de chaque segment de nos afficheurs . Le codage réalisé est visible ci-dessous.


codage afficheur


Nous avons également effectué la liaison série entre l'arduino et l'ordinateur.

Séance 2

Partie électronique

Lors de cette séance, nous avons réalisé le schéma logique par le biais du programme Altium. Nous avons utilisé un compteur ainsi qu'un décodeur afin de sélectionner l'afficheur à allumer.Nous avons également utilisé des multiplexeurs gérés par le même compteur qui permettent de sélectionner la mémoire dans laquelle il faut aller lire. Ces multiplexeurs sont au nombre de 16 (c'est à dire un par segment). Nous avons décidé de nous servir de registre afin de mémoriser le code de chaque lettre envoyé par le port série de manière à afficher et faire défiler les lettres plus facilement .


compteur et décodeur

Sur cette image nous pouvons voir que la sortie du compteur est relié au commande des multiplexeurs et du décodeur (ce dernier compte alors de 0 à 7). C'est par le biais de ce module qu'est sélectionné l'afficheur mis en marche .Ex: Lorsque le compteur est à 0, les segments sont lus dans la mémoire 1 (pin 0 des multiplexeurs) et envoyé vers l'afficheur 1.

mémoire et multiplexeur

Apres la mémoire sélectionné, cette dernière envois un signal aux multiplexeurs par le biais du bus de donnée de manière à désigner les segments qui allumerons afin d'afficher la lettre reçue.

bus de donnée entre les mémoires et les multiplexeurs
multiplexeur
registre memoire


Lors de la prochaine séance, il faudra que nous réalisions des tests sur les afficheurs. Pour ce faire , nous avons réalisé un module qui affiche quelque lettre . Nous devrons également impérativement commencer la réalisation de la liaison série afin de récupérer les données envoyées par l'application web .






Partie informatique

Nous avons effectué des tests afin de connaitre le code binaire pour chaque segment de l'afficheur et avons découvert que les segments n’étaient pas dans l'ordre déterminé dans la séance 1 .

Nous avons repris la conversion faite dans la librairie de l'arduino tout en l'adaptant à notre projet.

implémentation de la conversion

En utilisant les websockets et la librairie jquery, nous avons ensuite implémenté la page web dans laquelle nous devons écrire la phrase à envoyer à l'afficheur par le biais de la liaison série. Nous avons testé avec un mot.

imprime écran de la page web

Dans la prochaine séance, nous essaierons de faire décaler les lettres de façon à ce qu'une phrase puisse défiler le long des afficheurs et d'implémenter le tout dans la Raspberry.

Séance 3

Partie électronique

Partie informatique

Démonstration

Conclusion