Tous les appareils électroniques sont composés particulièrement de circuit intégrés. Un circuit intégré, est un circuit qui intègre plusieurs composants électroniques, principalement les transistors et les portes logiques. Ainsi ils permettent la réalisation de systèmes électroniques vraiment performants et miniature. Dans ce tutoriel nous ferons la lumière sur le circuit intégré 74HC595.

  1. Description

Le circuit intégré 74HC595 est un petit composant qui dispose de 16 pins. Il permet tout simplement d’étendre le nombre de sorties digitales d’un microcontrôleur c’est-à-dire de sauvegarder des pins sur ce dernier, car chaque microcontrôleur a un nombre limité de pins. Prenons l’exemple de la carte Arduino, il est donc possible de commander indépendamment huit sorties digitales à partir de trois pins de la carte. Ainsi il est possible de contrôler beaucoup de LEDs, des boutons, des capteurs en même temps.

Fonctionnement

Le CI 74HC595 communément appelé 595 contrôle essentiellement huit pins de sorties distinctes, en utilisant seulement trois pins d’entrée. Le plus intéressant est que si vous avez besoin de plus de huit pins d’entrée ou de sortie, vous pouvez facilement connecter en série autant de 595 que vous le désirez. Tout ceci est possible grâce au décalage de bits.

Tout d’abord il faut comprendre que la commande des appareils électroniques se fait par l’envoie des états HIGH (1) et LOW (0) qui sont des bits. Tout dépend de l’instruction que vous voulez exécuter. L’instruction peut se faire alors en une combinaison de 0 et 1 c’est-à-dire sur plusieurs bits.

  • STAGE SHIFT REGISTER

La première partie tout en haut est celle qui reçoit les informations envoyées par Arduino. Une information reçue par le 595 se fait sur huit bits, donc 1 bit pour chaque donnée. Le rôle du stage shift register est de déplacer la valeur de chaque bit vers la gauche en sa mémoire suivant un procédé bien précis. L’information est envoyée sur l’un des pins ‘’le DATA’’. Ainsi dès l’activation du ‘’CLOCK’’, les bits sont décalés vers la gauche.

  • STORAGE REGISTER

Le registre de stockage est la deuxième partie du 595. Son rôle est de copier le contenu du stage shift register. Ici le troisième pin, le ‘’LATCH’’ mémorise les informations du shift register et qui les copie dans le storage register. Le storage register dispose aussi de huit bits qui sont chacun connecté à l’une des huit sorties du 595.

  • STATE OUTPUTS

Cette dernière partie permet de commander l’activation et la désactivation de toutes les sorties en une seule opération. Dans certaines situations, il peut être nécessaire de désactiver les sorties pour laisser le contrôle des pins Q0 à Q7 à un autre circuit.

L’envoi de chaque bit correspond à l’activation ou à la désactivation des sorties. L’envoi  de l’octet 10101010 correspond à l’activation des sorties Q0, Q2, Q4, Q6 et la désactivation des sorties Q1, Q3, Q5, Q7.

  • GND doit être connecté à la terre ;
  • VCC est l’alimentation du 595 connecté au 5V ;
  • DS c’est le pin DATA, il utilisé pour faire entrer des données dans le registre à décalage ;
  • SHCP c’est l’horloge du registre à décalage. Pour décaler les bits l’horloge doit être mise sur l’état HIGH ;
  • STCP active la copie du contenu du registre de décalage  dans celui du stockage
  • MR est le pin qui permet de réinitialiser tout le registre. Pour l’activer il faut la mettre sur LOW sinon il faut la laisser sur HIGH ;
  • OE, lorsqu’elle  est sur LOW les sorties sont activées mais désactivées dans le cas contraire ;
  • Q0 à Q7 représentent les broches de sorties ;
  • Q7’ permet de monter deux 595 en série. Il faut le connecter  au pin DATA du second 595. Dans ce cas connecter SHCP du second à son STCP.

3-Utilisation avec Arduino

Ici nous allons contrôler l’allumage de huit LEDs avec le CI 74HC595.

Matériels

  • Carte Arduino
  • Circuit intégré 74HC595
  • Breadboard
  • Fils de connexion
  • huit résistances 220 ohms
  • huit LEDs
  • Câblage
  • L’entrée DS est branchée au pin 2 de l’Arduino
  • L’entrée SHCPest branchée au pin 3 de l’Arduino
  • L’entrée STCP est branchée au pin 4 de l’Arduino
  • Le pin MR est branché au VCC
  • Le pin OE est branché au GND
  • Les huit LEDs (anodes) sont connectées aux sorties Q0, Q1, Q2, Q3, Q4, Q5, Q6, et Q7 et les cathodes au GND.
  • Code

// définition des pins de commande du 74HC595
int DATA_pin = 2; // définition du pin DATA
int LATCH_pin = 4; // définition du CLOCK
int CLOCK_pin = 3;// définition du LATCH
boolean etats[8]; //c’est un tableau de 8 bits correspondant
//aux sorties du 74HC595 à l’état voulu
void setup()
{
//configuration des pins de commande comme sorties
pinMode(DATA_pin,OUTPUT);
pinMode(LATCH_pin,OUTPUT);
pinMode(CLOCK_pin,OUTPUT);
}
//La fonction appliqueEtat() enregistre l’état des leds dans le CI 74HC595
//pour chaque état, le LATCH est d’abord déactivé
//ensuite après que le CLOCK est mis à l’état LOW
//on place le DATA à l’état voulu et l’activation du CLOCK opère le décalage
//à la fin on valide le tout en activant le LATCH
void appliqueEtat()
{
digitalWrite(LATCH_pin, LOW);
for (int i = 7; i>=0; i–)
{
digitalWrite(CLOCK_pin, LOW);
digitalWrite(CLOCK_pin, LOW);
digitalWrite(DATA_pin, etats[i] );
digitalWrite(CLOCK_pin, HIGH);
}

digitalWrite(LATCH_pin, HIGH);
}
void loop()
{
//Allume successivement les leds de Q0 à Q7
for(int i = 0; i<8; i++)
{
etats[i] = HIGH;
delay(300);
appliqueEtat();
}
//éteint successivement les leds de Q7 à Q0
for(int i = 7; i>=0; i–)
{
etats[i] = LOW;
delay(300);
appliqueEtat();
}
//remise à zéro de toutes les leds
for(int j = 0; j<8; j++)
{
etats[j] = 0;
appliqueEtat();
}
//remise à zéro de toutes les leds
for(int j = 0; j<8; j++)
{
etats[j] = 0;
}
appliqueEtat();
}

Nous sommes donc à la fin de ce tutoriel, nous espérons avoir comblé vos attentes.

A très bientôt pour d’autres aventures

Les détails ne sont pas renseignés

0.00 average based on 0 ratings

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Course Features

  • Duration : 10 week
  • Max Students : 1000
  • Enrolled : 0
  • Re-take Course : 0
  • Assessments : Self
Price :
Gratuit

Rating

Average Rating: 0.00

Star
0%
Star
0%
Star
0%
Star
0%
Star
0%

Leave a Comment