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;
composant 74HC595;
une breadboard;
les LEDs et résistances;
un afficheur 7 segments;
les fils de connexion.
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 Q0 – Q7 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 (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 74HC595 Arduino
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 sketch 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.
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