TP2 : Afficheur 4X7 Segments


Mise en situation
Le Le travail de ce TP se déroule à deux.
Temps alloué : 3h
La programmation se fait sur PC sous Eclipse Kepler.
|
Objectif
C4.4 : Développer un module logiciel.
Découverte de l'environnement MyRio.
Programme sur tableaux en C pour la carte
|
But
Utiliser des sorties numériques de la carte MyRio pour compter sur un afficheur 4X7 segments YSD-439AK2B-35 et l'utiliser comme un chronomètre.
|
Utilisation des sorties numériques : projet existant
- Copier les fichiers du TP1 c:MyRIOTP0MyRio dans le répertoire c:MyRioTP2MyRio
- Effacer les répertoires Debug et Release s'ils existent
- Lancer Eclipse
- Choisir comme WorkSpace le répertoire c:MyRio
- Importer votre projet (General/Existing Projects into Workspace)
Câblage de l'afficheur 4X7 segments :
En vous aidant du datasheet de l'afficheur
YSD-439AK2B-35, faire le câblage reliant les sorties DIO de la carte MyRio et les broches de cet afficheur :
Remarque : On pourra prendre comme exemples (non-obligatoire) :
Port B
Segments | a | b | c | d | e
| f | g | DP |
Broches Afficheur |
10 | 9 | 7 | 5 | 4 | 2 | 1 | 6 |
Broches MyRio |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 |
Port A
Segments | DIG1 | DIG2 | DIG3 | DIG4 |
Broches Afficheur |
1 | 2 | 6 | 8 |
Broches MyRio |
0 | 1 | 2 | 3 |
Programmation :
Vous allez compter sur un entier toutes les secondes. Ce nombre de secondes, vous allez le décomposer en quatre chiffres et les afficher sur les 4 afficheurs. Le problème est que vous ne pouvez pas afficher le chono et attendre pour finir la seconde.
En effet, pour afficher sur un 7 segments, il faut le valider avec la broche DIG. Donc il faut valider chaque broche des 4 afficheurs l'une après l'autre. Hors, quand on disable un afficheur, les segments s'éteignent. Il faudra les maintenir 5ms et les rafraîchir constamment pour avoir l'effet d'un affichage constant.
Algorithme :
Exported from Notepad++
boucle infinie
incrémente compteur
décompose en quatre digit
Tant que pas fini une seconde faire
faire sur chaque digit
enable un des 7 segments
disable les 3 autres
affiche un de 7 segments
attend 5 ms
br/>
En vous aidant du TP1 :
Vous trouverez une fonction
dortMS(double) sur le partage qui dort le nombre de millisecondes passées en paramètres. En vous aidant de cette fonction, vous pourrez comparer le temps en milliseconde pris avant d'entrer dans la boucle d'affichage (additionné de 1000ms) et le temps à chaque passage.
Faire le programme en vous aidant de l'algorithme.

