Allumer une séquence de LED avec 74HC595 piloter par Arduino (Chenillard de LED)
Description :
Ce projet consiste à réaliser un chenillard de LED en utilisant un microcontrôleur Arduino associé à un registre à décalage 74HC595. Le 74HC595 est un composant permettant de contrôler 8 sorties numériques à partir de seulement 3 broches de l’Arduino, ce qui libère des pins tout en facilitant la gestion d’un grand nombre de LED.
L’objectif est de faire s’allumer les LED les unes après les autres, créant un effet lumineux dynamique appelé chenillard. Ce type d’animation est couramment utilisé dans les décorations lumineuses, les panneaux d’affichage et l’apprentissage de l’électronique numérique.
Prérequis :
- 1 x Carte Arduino Uno
- 8 × LED : 3 vertes, 2 jaunes, 3 rouges
- 8 × Résistance 220Ω
- 1 x 74HC595
- 1 x Breadboard
- Des câbles de connexion
Version IDE :
- Arduino IDE 2.3.5
Vidéo de démonstration :
Schéma de câblage :


Code Arduino :
int dataPin = 10; // DS (pin 14 du 74HC595)
int latchPin = 11; // ST_CP (pin 12)
int clockPin = 12; // SH_CP (pin 11)
//Tableau de bits (bit 0 à bit 7)
int Valuebits[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
int scrutationbits = 7;
void setup() {
Serial.begin(9600);
pinMode(dataPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop() {
// Modification des valeurs du tableau pour former un effet chenillard
if (scrutationbits == 7) {
Valuebits[scrutationbits] = 0;
scrutationbits = -1;
}
if (scrutationbits < 7) {
Valuebits[scrutationbits] = 0;
scrutationbits++;
Valuebits[scrutationbits] = 1;
}
// Convertir le tableau en un seul octet
byte valeur = 0;
for (int i = 0; i < 8; i++) {
valeur |= (Valuebits[i] << (7 - i)); // inverse l’ordre des bits
}
// Envoyer vers le 74HC595
digitalWrite(latchPin, LOW); // On prépare le registre
shiftOut(dataPin, clockPin, LSBFIRST, valeur); // Envoie la donnée
digitalWrite(latchPin, HIGH); // On verrouille les sorties
Serial.println(scrutationbits);
delay(100);
}
