Projet IMA3 P1, 2015/2016, TD1

De Wiki d'activités IMA
Révision datée du 3 mars 2016 à 19:42 par Acoffin1 (discussion | contributions) (Partie électronique)

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 du décodeur qu'est sélectionné l'afficheur mis en marche. Les multiplexeurs eux permettent d'aller chercher les données dans la mémoire correspondante. 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
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 .

pour réaliser les tests sans la liaison série il faut donner à la mains les valeurs à mémorisées, ici la lettre A

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