Difference: QuatreDigits (1 vs. 2)

Revision 22021-06-27 - UliRaich

Line: 1 to 1
 
META TOPICPARENT name="ExercicesSurLesLEDs"

Affichage sept segments

Introduction

Changed:
<
<
Cet exercice traite le module sept segments à quatre digits. Un exercice plus simple démontre l'utilisation du module sept segments à un seul digit (un digit).
À remarquer encore que le digit D1 est le digit tout à gauche et D3 le digit tout à droit.

Comme dans le cas de l’afficheur à sept segments avec un seul digit (chiffre), il existe aussi deux variétés d’affichage.
Voilà les connexions :

>
>
Cet exercice traite le module sept segments à quatre digits. Un exercice plus simple démontre l'utilisation du module sept segments à un seul digit (un digit).
  sevenSeg4DigitsPins.png
Changed:
<
<
sevenSeg4DigitsTypes.png
>
>
Les détails de connexions pour les afficheurs en anode ou cathode commune se trouve à IoT_UCAD.LEDs#FourDigits.
À remarquer encore que le digit D1 est le digit tout à gauche et D3 le digit tout à droit.
 

Exercice 1 :

Revision 12021-06-27 - UliRaich

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="ExercicesSurLesLEDs"

Affichage sept segments

Introduction

Cet exercice traite le module sept segments à quatre digits. Un exercice plus simple démontre l'utilisation du module sept segments à un seul digit (un digit).
À remarquer encore que le digit D1 est le digit tout à gauche et D3 le digit tout à droit.

Comme dans le cas de l’afficheur à sept segments avec un seul digit (chiffre), il existe aussi deux variétés d’affichage.
Voilà les connexions :

sevenSeg4DigitsPins.png

sevenSeg4DigitsTypes.png

Exercice 1 :

Connecter l’afficheur à sept segments au processeur via les pins GPIO. Créer 2 tables :

  • table des digits avec correspondances digit <> pin GPIO ;

  • table des LEDs avec la correspondance segment (a..g, dp) <> pin GPIO.

Douze (12 !) pins GPIO sont nécessaire.

Écrire un programme qui allume chaque LED pour 500 ms pour vérifier que les connexions sont correctes.

Exercice 2 :

Écrire une classe « HexDisplay » dans un fichier « hexDisplay.py » qui permet d’afficher des nombres hexadécimaux et décimaux.

La classe doit contenir les méthodes :

  • clear (self): qui efface tous les digits de l’afficheur à sept segments ;

  • showHexDigit (self, digit,valeur) : affiche la valeur « value » (0..0xf) sur le digit « digit » ;

  • showHexValue(self, value) : qui affiche la valeur « value » en hexadécimales ;

  • showDecValue(self, value) : qui affiche la valeur « value » en décimales ;

  • showDP(self, digit, dpOn) : qui affiche la virgule du digit « digit » si dpOn est vrai, l’éteint si dpOn est faut.

Essayer la classe avec un programme « FlowingDigit » qui affiche une séquence de nombres en répétition comme suit :

digit 0 digit 1 digit 2 digit 3
0 1 2 3
1 2 3 4
2 3 4 5
3 4 5 6
5 6 7 8
etc...      
D E F 0
E D 0 1
F 0 1 2
0 1 2 3

Exercice 3 :

Afficher l’heure de l’horloge interne de l’ESP32 sous le format : hh.mm. La virgule décimale entre l’heure et les minutes doit clignoter à une fréquence de 1 Hz (les secondes). Utiliser une interruption d’un temporisateur de l’ESP32 pour faire clignoter la virgule décimale et pour mettre à jour le temps.

Exercice 4 :

L’afficheur à sept segments est multiplexé et doit être rafraîchi périodiquement. Ceci peut être fait de la manière la plus élégante en utilisant les coroutines du module MicroPython uasyncio.

Modifier l’exercice 2 en utilisant les coroutines. La classe « HexDisplay » dans un fichier asyncHexDisplay.py » s’occupera ainsi de la tâche du rafraîchissement et le programme principale sera en sera dispensé.

Essayer cette classe avec un compteur hexadécimal et un compteur décimal pour des valeurs 0..100 (décimal) dans les deux cas.

Implémenter aussi le « Flowing Digit » en utilisant cette nouvelle classe.

-- Uli Raich - 2021-06-27

Comments

<--/commentPlugin-->

META FILEATTACHMENT attachment="sevenSeg4DigitsPins.png" attr="" comment="" date="1624811420" name="sevenSeg4DigitsPins.png" path="sevenSeg4DigitsPins.png" size="48443" user="UliRaich" version="1"
META FILEATTACHMENT attachment="sevenSeg4DigitsTypes.png" attr="" comment="" date="1624811420" name="sevenSeg4DigitsTypes.png" path="sevenSeg4DigitsTypes.png" size="216964" user="UliRaich" version="1"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback