ESP32 S3 - Faire clignoter plusieurs LED
Ce tutoriel vous explique comment programmer l'ESP32 S3 pour faire clignoter plusieurs LED simultanément sans utiliser la fonction delay. En utilisant la bibliothèque ezLED et des tableaux de LED, vous pouvez gérer proprement plusieurs LED avec un minimum de code.
Ce que vous allez construire :
- Câbler plusieurs LED à la carte ESP32 S3
- Utiliser la bibliothèque ezLED pour faire clignoter chaque LED indépendamment
- Contrôler le timing du clignotement sans delays bloquants
- Simplifier davantage le code à l'aide d'un tableau d'objets LED
Matériel requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.
À propos de la LED
La LED (diode électroluminescente) est l'un des composants de sortie les plus fondamentaux utilisés avec des microcontrôleurs comme l'ESP32 S3. Elle convertit le courant électrique en lumière visible et est couramment utilisée pour les indicateurs d'état, les signaux de débogage et le retour visuel dans les projets embarqués. Savoir contrôler plusieurs LED indépendamment est une compétence essentielle pour créer des applications ESP32 S3 plus complexes.
Caractéristiques principales
- Tension directe : généralement 1,8V–3,3V selon la couleur
- Résistance de limitation de courant : 220 ohms recommandés pour une logique 3,3V
- Contrôle : broche de sortie numérique (HIGH = allumée, LOW = éteinte)
Nous avons un tutoriel dédié sur les LED avec des informations détaillées et des instructions pas à pas sur le brochage matériel, le principe de fonctionnement et les connexions de câblage à l'ESP32 S3. Apprenez-en plus via le lien suivant :
Schéma de câblage
Connectez chaque LED en série avec une résistance de 220 ohms entre une broche GPIO de l'ESP32 S3 et GND. Veillez à respecter la bonne polarité de la LED — la patte la plus longue (anode) se connecte vers la broche GPIO via la résistance, et la patte la plus courte (cathode) se connecte à GND.
Consignes de sécurité
Utilisez toujours une résistance de limitation de courant avec chaque LED pour éviter d'endommager à la fois la LED et la broche GPIO de l'ESP32 S3. Les broches GPIO de l'ESP32 S3 peuvent fournir jusqu'à environ 40 mA par broche, mais il est recommandé de maintenir le courant en dessous de 12 mA par LED pour un fonctionnement continu sûr.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche GPIO | LED |
|---|---|
| GPIO 39 | LED 1 (anode via résistance de 220Ω) |
| GPIO 40 | LED 2 (anode via résistance de 220Ω) |
| GPIO 41 | LED 3 (anode via résistance de 220Ω) |
| GND | Toutes les cathodes des LED |
Code ESP32 S3 - Faire clignoter plusieurs LED
Pour faire clignoter plusieurs LED indépendamment sur l'ESP32 S3, nous ne pouvons pas utiliser la fonction delay() car elle bloque l'exécution de tout autre code. Le code suivant utilise la fonction millis() avec la bibliothèque ezLED, qui gère en interne les horodatages afin que vous n'ayez pas à gérer cette complexité vous-même. Cette approche permet à chaque LED de clignoter à son propre rythme sans interférer avec les autres opérations.
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Effectuez le câblage comme indiqué sur le schéma ci-dessus.
- Connectez la carte ESP32 S3 à votre PC via un câble USB Type-C.
- Ouvrez Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 S3 (par exemple ESP32S3 Dev Module) et le bon port COM.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Recherchez "ezLED", puis trouvez la bibliothèque de LED par ArduinoGetStarted.
- Cliquez sur le bouton Install pour installer la bibliothèque ezLED.
- Search for ezLED created by ArduinoGetStarted.com and click the Install button.
- Copiez le code ci-dessus et collez-le dans Arduino IDE.
- Compilez et téléversez le code sur la carte ESP32 S3 en cliquant sur le bouton Upload dans Arduino IDE.

- Vérifiez l'état de chaque LED — elles devraient clignoter indépendamment selon leurs intervalles configurés.
- Astuce pro : Essayez d'ajuster les intervalles de clignotement de chaque LED pour créer des motifs lumineux ou des effets visuels intéressants.
Code ESP32 S3 - Faire clignoter plusieurs LED avec un tableau
Nous pouvons optimiser davantage le code ci-dessus en utilisant un tableau d'objets LED. Le code suivant montre comment un tableau permet de s'adapter facilement à n'importe quel nombre de LED avec un minimum de changements — il suffit de mettre à jour la liste des broches et la taille du tableau. Ce modèle est particulièrement utile lorsqu'on contrôle de nombreuses LED dans un projet ESP32 S3.
Pour des motifs de clignotement plus flexibles et des options de contrôle supplémentaires, consultez les autres fonctions fournies par la bibliothèque ezLED.
Sortie du moniteur série
Ouvrez le moniteur série à 9600 bauds pour observer les messages d'exécution de l'ESP32 S3. Voici des exemples de lectures que vous pourriez voir pendant le fonctionnement :
Applications
Faire clignoter plusieurs LED indépendamment sur l'ESP32 S3 est une technique fondamentale qui s'applique à de nombreux projets embarqués réels. Voici quelques cas d'usage pratiques :
- Indicateurs d'état : Utilisez plusieurs LED pour afficher simultanément différents états du système, comme l'alimentation, la connectivité et les conditions d'erreur.
- Simulation de feu de circulation : Mettez en œuvre un contrôleur simple de feu de circulation avec des LED rouge, jaune et verte cyclant à intervalles définis.
- Système de notification : Faites clignoter différentes LED pour signaler des alertes entrantes, des messages ou des événements de capteur sans bloquer le reste de la logique du programme.
- Aide au débogage : Assignez une LED par sous-système pour surveiller visuellement quelles parties de votre firmware ESP32 S3 sont actives à un moment donné.
- Éclairage décoratif : Créez des motifs de LED animés pour des affichages, des costumes ou des installations artistiques en utilisant des timings de clignotement indépendants.
Vidéo
Regardez ci-dessous la vidéo pas à pas de ce projet ESP32 S3.
Défis
Vous entraîner avec des variantes de ce projet vous aidera à approfondir votre compréhension du code non bloquant et du contrôle des LED sur l'ESP32 S3. Essayez les exercices suivants pour développer vos compétences :
- Débutant : Ajoutez une quatrième LED sur une nouvelle broche GPIO et configurez-la pour clignoter à un intervalle différent des trois autres.
- Intermédiaire : Modifiez le code basé sur le tableau pour lire les intervalles de clignotement depuis un tableau de valeurs, afin de pouvoir changer tous les timings de LED à un seul endroit sans toucher aux objets individuels.
- Avancé : Utilisez les broches tactiles intégrées de l'ESP32 S3 ou un bouton pour activer/désactiver indépendamment l'état de clignotement de chaque LED à l'exécution, en combinant la gestion d'entrée avec la sortie multi-LED.