Afficheur 4 cadrans avec 7 segments

Afficheur 4 cadrans avec 7 segments. 

Pour bien comprendre, il faut d'abord regarder l'afficheur 7 segments. 

1) Présentation afficheur 4 cadrans avec 7 segments.

voici l'afficheur 4 cadrans avec 7 segments. 

Afficheur 4 digit avec 7 segments

Pour afficher les 4 digits avec 7 segments, il faut connecter cet afficheur. Par contre, il faut utiliser une anode commune à l'alimentation et la cathode commune à la masse pour cet afficheur pour que ça fonctionne. 

On utilise le même principe pour un afficheur sauf que l'on multiplie par 4 ces actions pour avoir un afficheur à 4 digit. 

Package et circuit de l'afficheur 4 cadrans.

 Pour réussir cet affichage, il faut faire le schéma de câblage de cet afficheur. 

Schéma de câblage de l'afficheur à 4 cadrans.

Au niveau matériel électronique(hardware) , on utilise un micro arduino pour réaliser le programme et définir les entrées et sorties, ensuite on utilise un circuit intégré 74HC595 qui permet de pouvoir afficher les 7 segments, ensuite pour s'interfacer avec l'afficheur, on prend des résistances de 220ohm. 

Pour la justification des résistances 220 ohm (voir afficheur 7 segments).

Pour le circuit intégré, on utilise le même circuit pour un afficheur 7 segments sauf que l'on utilise différemment (voir diagramme ci dessus). le principe est simple, on crée une table de vérité ou on configure chaque pin pour chaque chiffre de 0 à 9999. Pour l'instant, on va aller jusqu'à 12, et ensuite, pour afficher jusqu'à 9999, il faudra créer des boucles pour répéter les actions en incrémentant certaines variables. (voir programme ci dessous)

Diagramme de câblage 

 Voici le diagramme de câblage pour cet afficheur.

 

 

Programme pour faire afficher les 4 cadrans.

il faut réaliser un programme pour faire  afficher à 4 cadrans (digit).   

int latch=9; //74HC595 pin 9 STCP
int clock=10; //74HC595 pin 10 SHCP
int data=8; //74HC595 pin 8 DS

unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, ,0x39,0x5e,0x79,0x71,0x00};

void setup() {
pinMode(latch,OUTPUT);
pinMode(clock,OUTPUT);
pinMode(data,OUTPUT);
}
void Display(unsigned char num)
{

digitalWrite(latch,LOW);
shiftOut(data,clock,MSBFIRST,table[num]);
digitalWrite(latch,HIGH);

}
void loop() {
Display(1);
delay(500);
Display(2);
delay(500);
Display(3);
delay(500);
Display(4);
delay(500);
Display(5);
delay(500);
Display(6);
delay(500);
Display(7);
delay(500);
Display(8);
delay(500);
Display(9);
delay(500);
Display(10);
delay(500);
Display(11);
delay(500);
Display(12);
delay(500);
Display(13);
delay(500);
Display(14);
delay(500);
Display(15);
delay(500);
}

Le programme est constitué en plusieurs parties : on définit les entrées 9 pour le latch, 10 pour l'horloge et 8 pour les données,

int latch=9; //74HC595 pin 9 STCP
int clock=10; //74HC595 pin 10 SHCP
int data=8; //74HC595 pin 8 DS

après on créé une table pour afficher les segments

unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, ,0x39,0x5e,0x79,0x71,0x00};

Par exemple : 0X3F pour 1, 0X006 pour 2 ... et ainsi de suite. pour chaque chiffre, il faut configurer les segments. 

Ensuite, on met en place un setup pour le latch, l'horloge et les donnée. 

void setup() {
pinMode(latch,OUTPUT);
pinMode(clock,OUTPUT);
pinMode(data,OUTPUT);
}
void Display(unsigned char num)
{

Après on crée une fonction affichage (display) avec une variable interne num qui sera utilisé pour le tableau. 

void Display(unsigned char num)
{

digitalWrite(latch,LOW);
shiftOut(data,clock,MSBFIRST,table[num]);
digitalWrite(latch,HIGH);

}

Ensuite, on crée une boucle (LOOP) en affichant les chiffres de 0 à 15 en utilisant la fonction

void loop() {
Display(1);
delay(500);

....

Display(15);
delay(500);
}

voilà, on a fini le programme pour afficher le cadran de 0 à 15. 

Résultat de test pour l'afficheur 4 cadrans. 

On alimente avec le câble USB branché au PC, on charge le programme et on peut voir l'afficheur s'allumer et afficher les chiffres de 0 à 15.  

Pour l'instant, c'est le début, on commence avec des applications assez simple et après on complexifiera.