[GUIDE] Arduino Utiliser Registre à Décalage 74HC595

SOMMAIRE ►

  • Registre à décalage 74HC595 Arduino datasheet
  • Connecter registre à décalage 74HC595 Arduino
  • Code Arduino pour circuits intégrés 74hc595 et la LED
  • Code pour circuits intégrés 74hc595 arduino 7 segment

Le registre à décalage 74hc595 Arduino est utilisé pour contrôler l’affichage à sept segments et les LEDs. Les registres à décalage ont de nombreuses utilisations, l’une des plus populaires étant de multiplier les sorties de l’Arduino (prenez 3 broches et vous obtenez 8). Voyons, à l’aide d’exemples, de programmes et de schémas, comment utiliser le circuits intégrés 74hc595 pour connecter des LED et l’afficheur à sept segments 5161as.

Pour cette activité, nous aurons besoin:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • registre 74HC595
  • LEDs et résistances
  • afficheur 7 segments
  • breadboard
  • fils de connexion

Matériel supplémentaire sur ce sujet:

  1. Allumage et extinction LEDs à la suite Arduino
  2. Branchement afficheurs 7 segments Arduino
  3. Feu de circulation tricolore avec Arduino

Fonctionnement registre à décalage 74HC595

Pour comprendre le fonctionnement de la circuits intégrés 74hc595 Arduino, considérez le brochage du registre à décalage 74hc595 présenté dans l’image ci-dessous. Les contacts DS, ST_CP et SH_CP sont des broches de contrôle et sont connectées à toutes les sorties de la carte Arduino. Les broches Q0Q7 sont des sorties (bits) du registre à décalage. En envoyant un octet depuis l’Arduino, vous pouvez changer l’état du bit (HIGH ou LOW).

Comment fonctionnement composant 74HC595
Comment fonctionnement composant 74HC595 (datasheet)

Caractéristiques 74HC595

  • Entrée série de 8 bits sur 1 broche
  • Sortie série ou parrallèle des 8 bits sur 8 broches
  • Registre à décalage avec tampon de stockage en sortie, 3états
  • Câblage 2*8 broches
  • Décalages jusqu’à 100 MHz
  • Température de -40 à +85C°

Que lorsque l’on enverra l’octet suivant : 00011000 au décodeur 74HC595, il va changer l’état (HAUT ou BAS) de ses sorties. On verra alors, en supposant qu’il y a une LED de connectée sur chacune de ses sorties, les 2 LED du « milieu » (géographiquement parlant) qui seront dans un état opposé de leurs congénères. Ainsi, en utilisant seulement deux sorties numériques de votre carte Arduino, on peut virtuellement en utiliser 8 sorties numériques.

Comment branchement registre 74HC595 Arduino

Connecter le registre à décalage 74hc595 Arduino et LEDs
Comment connecter le registre à décalage 74hc595 Arduino et LEDs

Nous allons maintenant voir comment utiliser le composant de manière logicielle, avec Arduino Uno / Nano. Pour bien comprendre le but et le fonctionnement du registre à décalage 74hc595 – vous devez connecter le registre à l’Arduino Uno selon le schéma et télécharger le croquis suivant. Ce programme vous permet d’allumer/éteindre huit LED en alternance, en utilisant seulement 3 broches numériques du microcontrôleur Arduino.

Programme ajouter des sorties numériques avec 74HC595

#define dataPin 10 #define latchPin 11 #define clockPin 12 byte byteToSend = 0; void setup() { pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); digitalWrite(latchPin, HIGH); } void loop() { for (byte bitPos = 0; bitPos < 8; bitPos++) { byteToSend = 0; bitWrite(byteToSend, bitPos, HIGH); digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, byteToSend); digitalWrite(latchPin, HIGH); delay(100); } for (byte bitPos = 0; bitPos < 8; bitPos++) { byteToSend = 0; bitWrite(byteToSend, bitPos, HIGH); digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, MSBFIRST, byteToSend); digitalWrite(latchPin, HIGH); delay(100); } }

Explication du code pour composant 74HC595 et les LEDs:

  1. dans la boucle for Arduino, la variable bitPos passe de 0 à 8. La fonction bitWrite(byteToSend, bitPos, HIGH); modifie l’octet sous forme binaire et l’envoie au registre. Si le bitPos=0 on obtient B00000001, si le bitPos=1 on obtient B00000010, si le bitPos=2 on obtient B00000100, etc;
  2. MSBFIRST et LSBFIRST change la direction du signal.
Connecter 74hc595 Arduino et afficheur 7 segments
Comment connecter 74hc595 Arduino et afficheur 7 segments

Programme Arduino 74HC595 et afficheur 7 segments

Dans l’exemple suivant, nous connectons un affichage à sept segments. Le registre à décalage ne simplifie pas seulement l’assemblage du circuit, mais rend également le programme plus facile. Après avoir assemblé le circuit dans l’image ci-dessus, chargez le programme pour l’indicateur et le 74hc595. Le code passe par les chiffres de l’indicateur de zéro à cinq. Il ne sera pas trop difficile pour vous de poursuivre le programme.

#define dataPin 10 #define latchPin 11 #define clockPin 12 void setup() { pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); digitalWrite(latchPin, HIGH); } void loop() { digitalWrite(latchPin, LOW); // un shiftOut(dataPin, clockPin, LSBFIRST, B00110000); digitalWrite(latchPin, HIGH); delay(1000); digitalWrite(latchPin, LOW); // deux shiftOut(dataPin, clockPin, LSBFIRST, B01101101); digitalWrite(latchPin, HIGH); delay(1000); digitalWrite(latchPin, LOW); // trois shiftOut(dataPin, clockPin, LSBFIRST, B01111001); digitalWrite(latchPin, HIGH); delay(1000); digitalWrite(latchPin, LOW); // quatre shiftOut(dataPin, clockPin, LSBFIRST, B00110011); digitalWrite(latchPin, HIGH); delay(1000); digitalWrite(latchPin, LOW); // cinq shiftOut(dataPin, clockPin, LSBFIRST, B01011011); digitalWrite(latchPin, HIGH); delay(1000); }

Explication du code pour 74hc595 Arduino 7 segment:

  1. le programme n’utilise pas la broche du registre Q0, donc l’octet B00110000 commence toujours par zéro, car le bit n’est pas utilisé.

Conclusion. Nous avons passé en revue les caractéristiques, le but et la description du registre à décalage 74hc595 Arduino. Nous avons donné plusieurs exemples avec des schémas, des programmes de travail avec des commentaires détaillés pour contrôler les LEDs et l’afficheur à sept segments 5161as avec le registre 74hc595. Dans nos nouveaux projets avec le microcontrôleur Arduino, nous utiliserons certainement cette puce.

Tag » Arduino Afficheur 7 Segments 4 Digits 74hc595