Nom : 

Groupe : 

Prénom : 

Date : 


Afficheur radio réveil

Problématique : Comment coder et traiter une information ?                                

Durée prévue : 2h

Objectifs de l’activité : Analyser le codage des données permettant d’afficher un message sur l’écran du radio réveil.


Contexte d’étude :


Un radio réveil est composé d’un écran servant d’interface (communication) avec l’utilisateur. On se propose d’étudier et de comprendre comment sont codées les informations qui transitent entre la carte électronique de traitement et cet écran.


Partie 1 - Présentation de l’écran du radio réveil


L’écran du radio réveil est composé de quatre afficheurs matriciels comme l’illustre la figure suivante.




Figure 1 : Présentation de l'écran du radio réveil


Q1. Déterminer le nombre de LED que contient chaque afficheur. En déduire le nombre total de LED que contient l’écran.




Partie 2 - Mise en œuvre de l’affichage


Afin de comprendre comment sont codées les informations qui transitent entre la carte électronique de traitement et cet écran nous allons utiliser une carte de développement de type Arduino.


Il est nécessaire de connecter la carte Arduino et l’écran conformément au tableau suivant.

       

Broches de l’afficheur


Broches de l’Arduino

CLK (1)

A1

CS (2)

A2

DIN (3)

A3

GND (4)

GND

VCC (5)

5V

Tableau 1 : Connexions entre l'écran et la carte Arduino



Q2. Effectuer le schéma de câblage correspondant au tableau précédent. Puis, après validation du professeur, connecter l’écran à la carte Arduino en utilisant les cinq fils fournis pour cette activité.


Nous allons maintenant exécuter un programme de test qui va permettre de valider le câblage réalisé. On demande de suivre rigoureusement la procédure décrite ci-dessous.



  • Relier, à l’aide du câble USB, la carte Arduino au PC.


  • Exécuter l’environnement de développement intégré (IDE) Arduino depuis le bureau de Windows.


  • Dans l’onglet « Outils », vérifier que le type de carte sélectionné est du type « Arduino/Genuino Uno » (1), puis sélectionner le port COM correspondant à la carte connectée (2).


Figure 2 : Sélection du port de communication dans l’IDE


  • Ouvrir dans l’IDE Arduino le fichier « Test_Ecran.ino », puis téléverser le programme dans l’Arduino (1) afin de tester le bon fonctionnement de l’écran.

Partie 3 - Étude du codage de l’information


Q3. Téléverser dans la carte Arduino le programme « Affichage_Heure.ino ». Indiquer l’heure qui est affichée sur l’écran, puis déterminer sur quel afficheur les deux points « » sont présents.




Q4. Indiquer la hauteur et la largeur (en nombre de LED) des caractères utilisés pour l’affichage de l’heure.




Extrait du programme :



Q5. En examinant le programme « Affichage_Heure.ino » ainsi que l’écran du radio réveil indiquer l’état d’une LED (éteinte ou allumée) lorsque son bit correspondant est au niveau logique « 1 ».





 

Q6. Modifier les valeurs de la variable « afficheur4 » de façon à afficher l’heure « 13 : 47 » sur l’écran. Indiquer les valeurs des 8 octets écrits en binaire.

byte afficheur4[8] =

{








       };


Optimisation du programme :


Afin de rendre le code moins volumineux, il est possible de coder les informations transmises aux afficheurs en utilisant un système de numération différent. On se propose d’étudier ici le codage des données au format décimal. L’exemple ci-dessous rappelle la méthode de conversion binaire → décimal.


Q7. Déterminer le contenu des variables « afficheur2 », « afficheur3 » et « afficheur4 » permettant d’afficher « 13 : 47 » lorsque les données sont codées en décimal.


Remarque : il est possible d’écrire les tableaux en ligne de façon à rendre le code plus compact.


byte afficheur1[8] = {16,48,80,16,16,16,124,0};

voir exemple précédent

byte afficheur2[8] = 

byte afficheur3[8] =

byte afficheur4[8] = 


Il est possible d’afficher du texte sur l’écran en choisissant une taille de caractère plus basse. Par exemple, lorsque l’alarme du radio réveil se déclenche, avec une taille de caractère de 5x3, on diffuse le message suivant.



































































































































































































































































Figure 3 : Affichage du message "ALARME !" sur l'écran du radio réveil


Q8. Déterminer le contenu des variables « afficheur1 », « afficheur2 », « afficheur3 » et « afficheur4 » permettant d’afficher le message « ALARME ! » lorsque les données sont codées en décimal.

byte afficheur1[8] = 

byte afficheur2[8] = 

byte afficheur3[8] = 

byte afficheur4[8] = 


Partie 4 - Pour aller plus loin : Étude énergétique de l’écran



Q9. Téléverser le programme « Test_Luminosite.ino », puis mesurer à l’aide du testeur USB la puissance PMAX absorbée par l’écran (en watt). Dans le cas présent, on considérera que la puissance absorbée par la carte Arduino est négligeable devant celle de l’écran.




Q10. Modifier la ligne 37 du programme afin de régler la luminosité au minimum (0), puis mesurer à l’aide du testeur USB la puissance PMIN absorbée par l’écran (en watt).




Q11. En déduire l’économie d’énergie effectuée (en kW·h) pour une année d’utilisation entre ces deux réglages.




Il est possible de réduire davantage la consommation de l’écran en optant pour une taille de caractère inférieure. En effet, dans ce cas, moins de LED seront utilisées, et donc, allumées.


BONUS. Modifier la taille des caractères de façon à réduire le nombre de LED utilisées pour l’affichage de l’heure. Mesurer la puissance absorbée par l’écran dans ce cas. On recommande d’utiliser une taille de 5x3.





Créé avec HelpNDoc Personal Edition: Générateur de documentation Qt Help gratuit