Afficheur 7 segments

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

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

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