UnDigit

Page Actions

Affichage sept segments

Introduction

Cet exercice traite l'afficheur sept segments \xE0 un digit. Dans notre kit, nous avons aussi un module quatreDigits trait\xE9 dans l'exercice suivant.

sevenSeg1Digit.png

Il existe deux types d'afficheurs \xE0 sept segments diff\xE9rents : Les afficheurs \xE0 \xAB cathode commune \xBB et les afficheurs \xE0 \xAB anode commune \xBB. La connexion au processeur est la m\xEAme dans les deux cas (connexions aux pins GPIO via une r\xE9sistance limitation de courant). La programmation par contre est l\xE9g\xE8rement diff\xE9rente. Puisque la polarit\xE9 pour chaque LED change, le Pin \xAB Comm \xBB doit \xEAtre programme \xE0 z\xE9ro (GND) pour le cas du type \xAB cathode commune \xBB et \xE0 Vcc (3.3 V) dans le cas anode commune \xBB. Tous les signaux des LEDs doivent \xEAtre invers\xE9 de la m\xEAme mani\xE8re : Vcc pour \xEAtre allum\xE9 dans le cas \xAB cathode commune \xBB, GND dans l\x92autre cas.

Pour les connexions se r\xE9f\xE9rer \xE0 IoT_UCAD.LEDs#SevenSegments

Exercice 1:

Connecter toutes les LEDs. Reprendre le programme de la LED clignotante de la deuxi\xE8me session et changer le pin GPIO, afin de v\xE9rifier que chaque LED peut \xEAtre contr\xF4l\xE9e. Produire une liste qui montre que telle LED (a..g et dp) est connect\xE9e a tel pin GPIO

Exercice 2:

\xC9crire une classe HexDigit qui permet de visualiser des digits (chiffres) hexad\xE9cimaux (0..f) ainsi que le point d\xE9cimal.

Comment peut-on d\xE9finir les LEDs \xE0 allumer pour les diff\xE9rents digits ?

Comment vous allez associer les LEDs de l\x91afficheur \xE0 sept segments avec les pins GPIO sur lesquelles elles sont connect\xE9es ?

La classe doit avoir les m\xE9thodes :
  • _init _ qui associe les pins GPIO \xE0 des LED a..g et dp ;

  • showDP(yesNo) : qui si yesNo est vrais : afficher le dp ; sinon l\x92etteint ;

  • clear: qui \xE9teint toutes les LEDs ;

  • showDigit(hexDigit) : qui affiche le digit transmis par le param\xE8tre.

-- %USERSIG{UliRaich - 2021-06-27}%

Comments

 
Topic revision: r2 - 27 Jun 2021, UliRaich