was successfully added to your cart.

Afficheurs 7 segments et l’Arduino

Nous nous retrouvons pour un nouveau tutoriel Arduino sur les afficheurs 7 segments.
Vous avez tous déjà vu ou entendu parlé de ces afficheurs.

De quoi s’agit il ? Un afficheur 7 segments est un composant comme celui-ci :

Afficheur 7 Segments

Afficheur 7 Segments

Il est composé de 7 diodes, ici les 7 segments, en forme de « ligne » qui permettent de former des chiffres allant de 0 à 9. Ces afficheurs sont souvent rouges mais on peut en trouver de couleur blanche, bleue, verte …

Pour la réalisation de ce tutoriel, nous allons avoir besoin d’un peu de matériel. Mais comme à notre habitude, je vous transmet une liste de ce dont nous allons utiliser :

Matériel

  • 1 afficheur 7 segments
  • 8 résistances de 330 Ohms
  • 1 carte Arduino

Pour la réalisation de ce tutoriel, je vais utiliser un afficheur à Cathode commune. C’est à dire que l’afficheur possède un GND pour toute les diodes et qu’il suffira d’envoyer 5V dans les pins que nous voulons allumer pour former les chiffres.

Présentation de l’afficheur

L’afficheur que je vais utiliser est similaire à la photo suivante :

Présentation afficheur 7 segments

Présentation afficheur 7 segments

Cet afficheur est composé de 7 segments référencés de A à F de la manière suivante :

Branchements pins

Branchements pins

Références segments

Voici la signification des différents pins :

Significations des pins

Significations des pins

A présent, nous allons réaliser le branchement de l’afficheur. Voici celui que j’ai réalisé :

Schéma de branchement

Schéma de branchement

Vous pouvez voir sur ce schéma que l’on a branché à la masse les pins 3 et 8 et tous les autres pins sont branchés à des sorties de l’Arduino.

Avant de commencer, voici un tableau dans lequel est récapitulé les pins à mettre à l’état 1 pour afficher les caractères suivant :

Caractères

Programmation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
int A = 2;
int B = 3;
int C = 4;
int D = 5;
int E = 6;
int F = 7;
int G = 8;
 
void setup(){
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  pinMode(E, OUTPUT);
  pinMode(F, OUTPUT);
  pinMode(G, OUTPUT);
 
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
    }
 
void loop(){
  zero();
  delay(1000);
  un();
  delay(1000);
  deux();
  delay(1000);
  trois();
  delay(1000);
  quatre();
  delay(1000);
  cinq();
  delay(1000);
  six();
  delay(1000);
  sept();
  delay(1000);
  huit();
  delay(1000);
  neuf();
  delay(1000);
  }
 
void zero(){
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, LOW);
    }
 
void un(){
  digitalWrite(A, LOW);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, LOW);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, LOW);
    }
 
void deux(){
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, LOW);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, LOW);
  digitalWrite(G, HIGH);
    }
 
void trois(){
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH;
  digitalWrite(D, HIGH);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, HIGH);
  }
 
void quatre(){
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, LOW);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, LOW);
  digitalWrite(G, HIGH);
  }
 
void cinq(){
  digitalWrite(A, HIGH);
  digitalWrite(B, LOW);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, LOW);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
  }
 
void six(){
  digitalWrite(A, HIGH);
  digitalWrite(B, LOW);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
  }
 
void sept(){
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, LOW);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, LOW);
  }
 
void huit(){
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
  }
 
void neuf(){
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, LOW);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
  }

Voila à quoi vous allez arriver :

Projet final

Projet final

A présent vous savez comment utiliser un afficheurs 7-segments. Vous pouvez combiner plusieurs afficheurs pour réaliser une horloge, un compteur ou encore afficher des mots.

Grégoire A.

Laisser un commentaire