Afficheur 7 segments
- Détails
- Catégorie : Kit Arduino initiation électronique
- Publication : mardi 4 août 2020 15:48
- Écrit par Bensky
- Affichages : 3023
Afficheur 7 segments
1) Présentation de l'afficheur 7 segments :
Au départ, pour afficher les chiffres, on utilisait 7 segments et ainsi on pouvait afficher les chiffres de 0 à 9.
je vous propose de vous expliquer comment on réussit à afficher les chiffres de 0 à 9.
Voici l'affichage 7 segments.
Affichage 7 segments
Un affichage 7 segments est composé de 7 segments A, B, C, D ,E, F , G.
Affichage des 7 segments
Ensuite pour afficher les 7 segments, on utilise une table de vérité.
Tableau pour l'affichage des 7 segments
Pour chaque chiffre, on définit une règle que l'on affecte à chaque segment et ainsi on fait un programme pour afficher chaque segment.
2) Schéma de l'affichage 7 segments
Au niveau hardware, on définit le schéma électrique suivant :
schéma de câblage affichage 7 segments
Ensuite on présente le diagramme de câblage pour cet afficheur 7 segments
Diagramme de câblage 7 segments
Pour réussir ce diagramme, on met des résistances et un circuit intégré 74HC595.
74HC595
Pour bien comprendre ce composant, on utilise la datsheet du composant.
https://www.onsemi.com/pub/Collateral/MC74HC595-D.PDF
Voici le boitier du composant
Boitier du composant
Le boitier possède des pins avec des critères pour chaque pin.
Affectation des pins
il y a une alimentation, une masse, des signaux d'horloge, un reset et 7 pin pour chaque segment.
Voici la logique de diagramme
Diagramme de logique du HC74595
- Il y a un registre qui a des entrées en série et une horloge.
- On peut tout arrêter avec un reset.
- On peut conserver son horloge.
- On utilise une sortie que l'on est capable d'activer.
- Ensuite, on configure les 7 pins en entrées pour chaque segment. QA..QG
On utilise des résistance pour limiter les courants. On prendra des résistances de 220ohm.
Calcul du courant V=R.I Donc I=V/R=12/220=22mA ce qui est suffisant.
P=V²/R=113mW ce qui suffit pour des résistances à piquer car une résistance à piquer peut avoir une puissance de 1/4W soit 250mw, ce qui fait un taux de charge d'environ 50%.
On peut utiliser donc les résistances de 220ohm.
Après avoir câblé l'électronique, il faut programmer le logiciel.
1) partie contrôle avec logiciel.
Au final, voici le programme que l'on utilise pour réaliser cet affichage
// define the LED digit patterns, from 0 - 9
// 1 = LED on, 0 = LED off, in this order:
// 74HC595 pin Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7
// Mapping to a,b,c,d,e,f,g of Seven-Segment LED
byte seven_seg_digits[10] = { B11111100, // = 0
B01100000, // = 1
B11011010, // = 2
B11110010, // = 3
B01100110, // = 4
B10110110, // = 5
B10111110, // = 6
B11100000, // = 7
B11111110, // = 8
B11100110 // = 9
};
// connect to the ST_CP of 74HC595 (pin 3,latch pin)
int latchPin = 3;
// connect to the SH_CP of 74HC595 (pin 4, clock pin)
int clockPin = 4;
// connect to the DS of 74HC595 (pin 2)
int dataPin = 2;
void setup() {
// Set latchPin, clockPin, dataPin as output
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
// display a number on the digital segment display
void sevenSegWrite(byte digit) {
// set the latchPin to low potential, before sending data
digitalWrite(latchPin, LOW);
// the original data (bit pattern)
shiftOut(dataPin, clockPin, LSBFIRST, seven_seg_digits[digit]);
// set the latchPin to high potential, after sending data
digitalWrite(latchPin, HIGH);
}
void loop() {
// count from 9 to 0
for (byte digit = 10; digit > 0; --digit) {
delay(1000);
sevenSegWrite(digit - 1);
}
// suspend 4 seconds
delay(3000);
}
Pour ce programme, on définit au départ, les entrées, ensuite les variables, après, on affiche les 7 segments, après on lance une boucle (loop) pour afficher tous les segments.
Pour écrire un tel programme, il faut être habitué à utiliser les codes liés au code source arduino, mais c'est un programme assez simple à comprendre.
Quand vous avez créé le programme, vous pouvez le lancer et vous pourrez afficher les 7 segments.
3) résultat :
Le résultat est que l'on peut afficher les chiffres de 0 à 9.
Résultat de test pour affichage 7 segments Arduino.
C'est un bon début et ceci vous permet de bien comprendre l'affichage 7 segment et de lancer un premier programme en Arduino.
Sujet suivant : Affichage 4 digit avec 7 segments