Electronique > Réalisations > Affichage / Mesures > Afficheur LEDs 7 segments 006

Dernière mise à jour : 29/08/2010

Présentation

Le présent texte décrit une méthode pour effectuer un affichage numérique sur un ou plusieurs afficheurs sept segments sans aucun circuit intégré, à partir d'une information décimale de type "1 parmi n". Plusieurs schémas sont proposés :
- Schéma 006a : 9 entrées logiques, affichage numérique de 1 à 9
- Schéma 006b : 30 entrées logiques, affichage numérique de 1 à 30
Les exemples proposés font usage de diodes et de résistances tout ce qu'il y a de plus basique. Mais en échange de la simplicité du principe adopté, le nombre de diodes nécessaires est assez élevé. Heureusement que ces composants basiques se trouvent à prix bas.

Avertissements

Le système décrit ici n'accèpte pas que plusieurs entrées soient actives en même temps. Cela ne présente pas de risque d'un point de vue électrique (pas de fumée en perspective), mais la valeur affichée n'est pas correcte si plusieurs entrées sont activées en même temps. Pour disposer d'un système qui accèpte plusieurs entrées activées en même temps avec un affichage cohérent, il convient d'utiliser des encodeurs de priorité ou des composants programmables (point discuté en fin de page).
 

Schéma 006a - Affichage 1 à 9

9 entrées logiques, affichage numérique de 1 à 9 avec un seul afficheur sept segments. Les niveaux logiques peuvent provenir de sorties logiques de circuits TTL ou de transistors montés en suiveur de tension (transistors en collecteur ouvert possible mais pas recommandé). 

afficheur_leds_7seg_006a

Conventions de câblage
Pour simplifier les explications, le schéma utilise un commutateur mécanique à plusieurs positions pour la sélection de l'entrée désirée (SW1). Le point commun du commutateur est relié à une tension positive de +9 V, valeur tout à fait arbitraire que vous pouvez changer (moyennant des précautions qui seront expliquées plus loin). Chaque "sortie" du commutateur est relié à une ligne qui porte le nom de sa position. Ainsi, à la position 1 du commutateur correspond la liaison L1, à la position 2 du commutateur correspond la liaison L2, etc. Tous les points marqués L1 sur le schéma sont à relier ensemble, tous les points marqués L2 sur le schéma sont à relier ensemble, etc. Il en est de même pour les points nommés A à G.

Principe de fonctionnement
Il consiste à amener une tension positive sur les segments de l'afficheur à LED à cathode commune (AFF1) qui doivent être allumés pour former un chiffre donné. Par exemple, quand le commutateur SW1 est en position 1, les deux segments B et C doivent être allumés et les autres doivent rester éteints.

Afficheur 7 seg - 1

Il en est de même pour les autres chiffres à afficher. La position 4 du commutateur doit faire s'allumer les segments B, C, F et G, les autres devant rester éteints.

Afficheur 7 seg - 4

On se rend compte qu'il existe plusieurs positions du commutateur SW1 pour lesquels un même segment peut devoir être allumé. Par exemple le segment B doit être allumé quand il faut afficher les chiffres 1, 2, 3, 4, 7, 8 et 9. Le tableau qui suit résume quels segments de l'afficheur doivent être allumés en fonction de la position de SW1 (case avec un x = segment allumé).

Position SW1ABCDEFG
1xx
2xxxxx
3xxxxx
4xxxx
5xxxxx
6xxxxxx
7xxx
8xxxxxxx
9xxxxxx

Une solution simple semblerait consister à relier directement les broches de l'afficheur sur les broches du commutateur qui vont bien. Mais que se passe-t-il si on procède ainsi sans précaution ? Les segments qui vont s'afficher ne seront pas toujours ceux attendus (il y en aura trop d'allumés). Pour cette raison, il convient de placer des diodes "d'anti-retour" qui évitent de créer des points communs au niveau du commutateur. Cela complique bien sûr le circuit puisqu'on rajoute des composants, mais le câblage reste toutefois très logique. La règle de câblage des diodes est très simple : il suffit de placer une diode entre chaque position du commutateur et chaque segment qui doit s'allumer pour cette position. Par exemple en position 1 on doit allumer les deux segments B et C. Pour cela, il faut placer une première diode entre la broche 1 de SW1 et la broche B de l'afficheur, et une seconde diode entre la broche 1 de SW1 et la broche C de l'afficheur. On procède de même pour la broche 2 du commutateur, etc. Au final, on doit compter autant de diodes que de croix dans le tableau du résumé ci-avant, soit 43 points de connexion et donc 43 diodes dans le cas présent.

Résistances série de l'afficheur
Les résistances R1 à R7 placées en série avec les broches de l'afficheur sept segments sont impératives, elles permetent de limiter le courant circulant dans les segments. La valeur de ces résistance doit être calculée selon la formule suivante :
R = (U - 0,6 - Useg) / Iseg
où R est exprimée en ohms, U est la tension d'alimentation, Useg la tension nominale des segments de l'afficheur et Iseg leur courant nominal.
Si par exemple votre alim est de +12 V et que votre afficheur possède des segments de type 1,6 V / 10 mA, les résistances auront la valeur suivante :
R = (U - 0,6 - Useg) / Iseg
R = (12 - 0,6 - 1,6) / 0,01
R = 980 ohms (valeur normalisée la plus proche = 1 kO)

Schéma 006b - Affichage 1 à 30

30 entrées logiques, affichage numérique de 1 à 30, avec deux afficheurs sept segments. Ce circuit peut être utilisé pour moins d'entrée (par exemple 15 ou 20). La présence d'un grand nombre de diodes peut effrayer, mais la technique employée est la même que pour le schéma précédent et suit rigoureusement la même logique. La différence principale réside dans le fait que le premier afficheur s'occupe de la valeur décimale et que le second afficheur s'occupe des unités.

afficheur_leds_7seg_006b

Les commutateurs mécaniques SW1 à SW3 utilisés ici pour simuler les entrées logiques sont de type 12 positions. Pour chacun d'eux, seules 10 positions sur les 12 sont réellement exploitées, il s'agit des positions 2 à 11. Le commutateur SW1 quand il est sur une position comprise entre 2 et 11, permet d'afficher un nombre compris entre 01 et 10 (notez le décallage de 1 point entre numéro de position du commutateur et nombre affiché). Quand le commutateur SW1 est en position 12, c'est le commutateur SW2 qui prend du service. Quand ce dernier est sur une position comprise entre 2 et 11, le nombre affiché est compris entre 11 et 20. Idem quand le commutateur SW2 est en position 12 et que le commutateur SW3 devient acteur : les positions 1 à 11 correspondent au nombre affiché 21 à 30. Les positions non utilisées sont raccordées entre elle via le point de connexion noté NC. Ce dernier est facultatif et permet seulement d'afficher un trait sur les deux afficheurs pour notifier d'une position "non valide". Si vous préférez que les afficheurs restent entièrement éteints pour ces positions particulières, il vous suffit de retirer les deux diodes connectées aux points NC.

Autres méthodes moins coûteuses en diodes ?

L'emploi de circuits intégrés permet de simplifier le circuit d'affichage. On peut par exemple utiliser des encodeurs de priorité, ou un petit PIC associé à quelques expandeurs de port ou à des multiplexeurs. La solution par diode n'est pas forcement la plus bête, tout dépend des moyens dont vous disposez et de la logique qui vous convient le mieux.

Encodeur de priorité SN74147
Dans la logique TTL, on peut par exemple utiliser l'encodeur de priorité SN74147. Ce circuit dispose de 10 entrées actives à l'état bas et de quatre sorties BCD qui nécessitent l'ajout d'un décodeur BCD / 7 segments pour attaquer l'afficheur numérique. Un SN7447 pourra convenir pour ce décodage. Si on veut que les entrées réagissent sur des niveaux logiques haut, il faudra installer un inverseur logique par entrée (par exemple issus d'un circuit SN7404). Si on veut rester "simple", l'assemblage de ces circuits ne convient que pour un seul afficheur et donc 9 entrées maximum. Au delà il faut plus de circuits logiques pour gérer les entrées supplémentaires.

Encodeur de priorité CD4532
Le CD4532 est un encodeur de priorité qui dispose de 8 entrées "seulement" mais qui sont actives à l'état logique haut, ce qui dans de nombreux cas sera sans doute préféré. Ce circuit doit lui aussi être associé à un décodeur BCD / 7 segments pour assurer l'attaque de l'afficheur numérique. Un CD4511 ou CD 4543 conviendront très bien pour cette fonction de décodage. Pour plus de 8 entrées, il faut cascader les encodeurs de priorité CD4532, ce qui nécessite l'ajout de portes logiques supplémentaires mais reste néanmoins assez simple à faire.

PIC et PCF8574
Un PIC d'entrée de gamme associé à quatre expandeurs de ports de type PCF8574 permet de disposer de 32 entrées et d'attaquer directement deux afficheurs numériques en mode multiplexé. C'est une solution assez souple et qui prend moins de place que les autres, mais qui nécessite la programmation d'un composant. Il faut donc être équipé pour ça.

PIC et multiplexeurs CD4051
Les multiplexeurs analogiques CD4051 peuvent remplacer les expandeurs de ports PCF8574, et il en faut là aussi quatre pour disposer de 32 entrées. Mais contrairement aux PCF8574 qui ne réclament que deux fils pour les accès en lecture sur les quatre boitiers, quatre boitiers CD4051 ne peuvent se contenter de si peu et le PIC doit disposer de sept lignes de port rien que pour leur exploitation. Là encore il faut disposer d'un programmateur pour rendre utile le PIC.

Circuits imprimés

Non réalisés. A mon avis le plus simple est d'utiliser une plaque d'expérimentation à bandes ou pastilles.