Interface d’un écran à sept segments avec un Arduino

Pour de nombreuses applications, il n’est pas nécessaire d’utiliser un écran à cristaux liquides plus coûteux pour afficher des données. Un simple affichage à sept segments est suffisant.

Si votre application Arduino n’a besoin d’afficher que des chiffres, envisagez d’utiliser un affichage à sept segments. L’affichage à sept segments comporte sept LED disposées sous la forme du chiffre huit. Ils sont faciles à utiliser et rentables. L’image ci-dessous montre un afficheur sept segments typique.

SSD

Les afficheurs sept segments sont de deux types : anode commune et cathode commune. La structure interne des deux types est pratiquement la même. La différence réside dans la polarité des diodes et de la borne commune. Dans un afficheur à sept segments à cathode commune (celui que nous avons utilisé dans les expériences), les cathodes des sept DEL plus une DEL à point sont connectées aux broches 3 et 8. Pour utiliser cet afficheur, nous devons connecter la TERRE aux broches 3 et 8 et connecter le +5V aux autres broches pour que les différents segments s’allument. Le schéma suivant montre la structure interne de l’affichage à sept segments à cathode commune :

Common Cathode
Common Cathode

L’afficheur à anode commune est exactement le contraire. Dans un afficheur à anode commune, la borne positive des huit DEL est reliée ensemble, puis connectée à la broche 3 et à la broche 8. Pour allumer un segment individuel, il faut mettre à la terre l’une des broches. Le schéma suivant montre la structure interne de l’affichage à sept segments à anode commune.

Anode commune
Anode commune

Les sept segments sont étiquetés de a à g, le point étant « dp », comme le montre la figure ci-dessous :

Configuration du DSS
Configuration du DSS

Pour afficher un nombre particulier, vous activez les différents segments comme indiqué dans le tableau ci-dessous :

.

b

Sur

.

.

on

on

.

.

on

on

on

.

.

.

.

on

.

off

.

.

On

on

.

off

Chiffre gfedcba

abcdefg

a

c

d

e

f

g

0 0×3F

0×7E

on

.

Sur

Sur

Sur

Sur

Off

.
1 0×06

0×30

off

on

.

on

off

off

off

off

2 0×5B

0×6D

on

on

off

on

on

off

on

3 0×4F

. 0×79

on

on

off

off

on

4 0×66

0×33

.

off

on

on

off

off

on

on

On

5 0×6D

0×5B

.

off

on

on

off

on

6 0×7D

0×5F

on

off

.

Sur

Sur

Sur

Sur

7 0×07

0×70

on

on

on

désactivé

.

désactivé

désactivé

8 0×7F

0×7F

Sur

Sur

Sur

Sur

Sur .

on

on

9 0×6F

0×7B

on

on

on

off

on

on

A 0×77

0×77

on

.

on

on

on

on

on

B 0×7C

0×1F

off

off

.

On

On

On

On

On

C 0×39

0×4E

on

off

off

.

On

On

Off

D 0×5E

.

0×3D

Désactivé

on

on

on

.

on

off

E 0×79

0×4F

On

Off

Off

On

On

On

on

F 0×71

0×47

on

off

off

on

on

on

.

Expérience 1

Dans cette expérience, nous allons simplement allumer et éteindre les LED pour nous familiariser avec le fonctionnement d’un affichage à sept segments.

Matériel requis

  • 1 x afficheur à sept segments (cathode commune)
  • 1 x Arduino MEGA 2560
  • 1 x. breadboard
  • 7 x résistances de 220 ohms (1/4 W)
  • câbles de connexion

Schéma de câblage

Dans ce circuit, les broches de l’afficheur à sept segments sont connectées aux broches 2 à 9 de l’Arduino, comme indiqué dans le tableau ci-dessous. Les broches communes (broche 3 et broche 8) sont connectées à GND et dp est laissé non connecté, car elle n’est pas utilisée dans cette expérience

Sept broches de segment Arduino Couleur du fil
1(e) 6 orange
2(d) 5 blanc
3,8(COM) GND n/a
c 4 jaune
5(dp)
6(b) 3 rouge 7(a) 2 bleu
9(f) 7 cyan
10(g) 8 verte

Code

void setup(){ // define pin modes pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); }void loop() { // loop to turn leds od seven seg ON for(int i=2;i<9;i++) { digitalWrite(i,HIGH); delay(600); } // loop to turn leds od seven seg OFF for(int i=2;i<9;i++) { digitalWrite(i,LOW); delay(600); } delay(1000);}

Interface_Seven_Segment.zip

Expérience 2

Description

Dans ce tutoriel, nous allons interfacer un afficheur sept segments avec Arduino mega et apprendre à afficher un compte à rebours à partir de neuf avec un délai d’une seconde, sur un afficheur sept segments.

Matériel requis

Le matériel requis pour cette expérience est le même que pour l’expérience 1.

Schéma électrique

Le schéma électrique de cette expérience est le même que le circuit de l’expérience 1.

Code

// make an array to save Sev Seg pin configuration of numbersint num_array = { { 1,1,1,1,1,1,0 }, // 0 { 0,1,1,0,0,0,0 }, // 1 { 1,1,0,1,1,0,1 }, // 2 { 1,1,1,1,0,0,1 }, // 3 { 0,1,1,0,0,1,1 }, // 4 { 1,0,1,1,0,1,1 }, // 5 { 1,0,1,1,1,1,1 }, // 6 { 1,1,1,0,0,0,0 }, // 7 { 1,1,1,1,1,1,1 }, // 8 { 1,1,1,0,0,1,1 }}; // 9 //function headervoid Num_Write(int);void setup() { // set pin modes pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); }void loop() { //counter loop for (int counter = 10; counter > 0; --counter) { delay(1000); Num_Write(counter-1); } delay(3000);}// this functions writes values to the sev seg pins void Num_Write(int number) { int pin= 2; for (int j=0; j < 7; j++) { digitalWrite(pin, num_array); pin++; }}

aac_interface_a_seven_segment.zip

Vidéo

Vous pouvez essayer ce projet par vous-même ! Obtenez la nomenclature.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *