Sunteți pe pagina 1din 3

Utilisation d’un afficheur 7 segments

 Modèle utilisé

 10 broches
 Cathode commune
 Couleur rouge
 2 chiffres

 Broches

Les broches sont reliées selon un schéma bien précis, qui permet de piloter tous
les segments individuellement, et de désigner le chiffre concerné par sa cathode.
Il est impossible d’allumer les segments de façon à faire deux chiffres différents
sur deux digits différents. C’est l’inconvénient de ce type d’afficheur, mais il
possède en revanche un branchement simplifié (pratique pour l’Arduino), grâce au
nombre de broches réduit.
Mais alors comment afficher, par exemple, le nombre 12 (qui contient deux
chiffres différents) ?
C’est là que l’affichage alterné - des différents chiffres qui composent un nombre
– intervient. En effet, il faudra, pour résoudre ce problème, afficher le nombre
chiffre après chiffre, un peu comme un chenillard. Le clignotement est tellement
rapide que le phénomène est invisible à l’œil nu.
Pour l’exemple du nombre 12, l’arduino va communiquer à l’afficheur d’allumer le
1, ensuite il va l’éteindre et faire pareil pour le 2.
Voici la table qui répertorie les broches, et leur fonction :

Broche Désignation Type


Anode du segment C +
Anode du segment DP +
Anode du segment E +
Anode du segment D +
Anode du segment G +
Anode du segment F +
Cathode du digit 1 (à gauche) -
Cathode du digit 2 (à droite) -
Anode du segment B +
Anode du segment A +

 Avec l’Arduino
Pour faciliter l’utilisation d’un afficheur 7 segments de ce type (ou même avec
des chiffres en plus ou e moins), il existe une libraire : Sevseg.
Elle est disponible ici : https://github.com/DeanIsMe/SevSeg
Cliquer sur « Download ZIP » :

L’utilisation de cette librairie est assez simple. Elle permet de contrôler des afficheurs 7
segments, qu’ils aient 1, 2, 3, ou 4 chiffres, avec décimale. Elle simplifie énormément la
tâche, puisqu’elle est capable, à partir d’un nombre (qui peut être une variable), de
découper ce nombre et de l’afficher directement. C’est donc très pratique, surtout, par
exemple, pour la réalisation d’un compteur. On pourra ainsi donner une variable, dans une
boucle for(){}, pour faire diminuer petit à petit le nombre affiché.
Les différentes fonctions se trouvent dans ce tableau :
Fonction Utilité Remarques
#include <SevSeg.h> Inclure la librairie Essentiel pour utiliser les fonctions qu’elle
apporte. Doit se trouver dans les premières
lignes du programme.
SevSeg [nom_de_l_afficheur] Déclarer un nouvel Doit se trouver AVANT toute autre fonction
(remplacer par le nom de l’afficheur, afficheur relative à l’afficheur
« afficheur » par exemple)
afficheur.begin(COMMON_ANODE, Déclarer le type  Le premier argument peut être soit
nbreDigits, digitPins, segmentsPins) d’afficheur, le nombre de « COMMON_ANODE » pour les
afficheurs à anode commune, soit
chiffres sur l’afficheur et « COMMON_CATHODE » pour les
les branchements à afficheurs à cathode commune.
l’Arduino  Les 3 autres arguments sont des
variables, de type « byte ». Elles
doivent être déclarées en amont.
 Byte nbreDigits = [nombre de
chiffres]
 Byte digitPins[] = {[broches
des chiffres, de gauche à
droite]}
 Byte segmentsPins[] =
{[broches des segments, du
segment A au G, puis DP]}
afficheur.setBrightness([nombre entre 0 Régler la luminosité des Il faut mettre en parenthèses un nombre
et 100]) segments de l’afficheur compris entre 0 et 100.
0 : minimum de luminosité
100 : maximum de luminosité
afficheur.setNumber([nombre à Préparer un nombre pour  [nombre à afficher] peut être soit un
afficher],[position de la virgule]) l’afficher nombre directement inscrit, c’est-à-
dire constant, soit une variable. Il ne
peut être supérieur à la capacité
d’affichage (le nombre de chiffres) de
l’afficheur.
 [position de la virgule] définit la
position de la virgule, c’est-à-dire
lequel des «DP » doit s’allumer. Il est
définit en partant de la droite.
Ex. : afficheur.setNumber(3141,3)
Affichera « 3.141 ».
 [nombre à afficher] peut être un
nombre décimal. Dans ce cas, [position
de la virgule] change de fonction : elle
définit la précision.
Ex. : afficheur.setNumber(3141f,2)
Affichera « 3.14)
 Dans ce cas, il faut rajouter
un « f » minuscule après
[nombre à afficher].

afficheur.refreshDisplay() Rafrâichit l’afficheur pour Cette fonction doit OBLIGATOIREMENT se


afficher le nombre qui a répéter (donc se trouver dans une boucle, par
exemple dans le void loop).
précedemment été
définit par « setNumber »

S-ar putea să vă placă și