ESP32 S3 - LED RGB
L'ESP32 S3 peut piloter une LED RGB pour produire n'importe quelle couleur en mélangeant la lumière rouge, verte et bleue via des signaux PWM — vous offrant plus de 16 millions de combinaisons de couleurs possibles à partir d'un seul composant. Ce tutoriel vous guide à travers le câblage, le codage et la compréhension des principes de mélange des couleurs afin que vous puissiez ajouter un retour visuel vif à vos projets ESP32 S3.
Ce que vous allez construire :
- Un circuit reliant une LED RGB (ou un module LED RGB) à l'ESP32 S3
- Un croquis Arduino qui alterne entre trois couleurs distinctes en utilisant le PWM
- Une fonction d'aide réutilisable setColor() pour un contrôle des couleurs propre et lisible
- Une base pour tout projet nécessitant une sortie visuelle en couleur complète sur l'ESP32 S3

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) |
À propos de la LED RGB
Une LED RGB combine trois LED individuelles — rouge, verte et bleue — dans un seul boîtier, permettant de produire n'importe quelle couleur en ajustant indépendamment la luminosité de chaque élément. Comme les trois sources de lumière sont si proches les unes des autres, l'œil humain perçoit leur sortie mélangée comme une seule couleur unifiée.
Caractéristiques principales
Une LED RGB à cathode commune possède quatre broches : une masse partagée et une broche de contrôle par canal de couleur. Chaque canal se comporte comme une LED standard, fonctionnant à une tension directe d'environ 2–3 V avec un courant d'environ 20 mA, une résistance de limitation de courant est donc nécessaire pour chaque canal, sauf si vous utilisez un module LED RGB préassemblé qui inclut déjà des résistances. L'ESP32 S3 pilote chaque canal avec une valeur PWM entre 0 (éteint) et 255 (luminosité maximale), offrant 256 niveaux d'intensité par canal et plus de 16 millions de possibilités de couleurs combinées.
Brochage de la LED RGB
La LED RGB comprend quatre broches correspondant à chaque élément lumineux :
- Broche R (rouge) : Contrôle l'élément de couleur rouge
- Broche G (vert) : Contrôle l'élément de couleur vert
- Broche B (bleu) : Contrôle l'élément de couleur bleu
- Broche commune (Cathode−) : Connectez cette broche à GND (0V)

Pour connecter une LED RGB à l'ESP32 S3, vous devez ajouter des résistances de limitation de courant à chaque broche de couleur. Cela peut complexifier le câblage — heureusement, un module LED RGB est livré avec des résistances de limitation de courant préassemblées et constitue l'option recommandée pour les débutants.
Le module LED RGB comprend également quatre broches :
- Broche commune (Cathode−) : Doit être connectée à GND (0V)
- R (rouge) : Broche utilisée pour contrôler le rouge
- G (vert) : Broche utilisée pour contrôler le vert
- B (bleu) : Broche utilisée pour contrôler le bleu

※ Note:
Selon la broche commune, il existe deux types de LED : anode commune et cathode commune. Ce tutoriel utilise une LED à cathode commune.
Comment fonctionne la LED RGB
En termes de physique, chaque couleur est une combinaison de trois éléments primaires : Rouge (R), Vert (G) et Bleu (B). La valeur de chaque élément varie de 0 à 255, et leur combinaison crée 256 × 256 × 256 = plus de 16 millions de couleurs au total.
Lorsque l'ESP32 S3 génère des signaux PWM sur les broches R, G et B, la LED RGB affiche la couleur correspondant à ces valeurs de rapport cyclique. En changeant le rapport cyclique de chaque signal PWM (de 0 à 255), la LED RGB peut afficher n'importe quelle couleur. Les valeurs de couleur Rouge (R), Vert (G) et Bleu (B) correspondent respectivement au rapport cyclique PWM sur les broches R, G et B.
Schéma de câblage entre la LED RGB et l'ESP32 S3
Connectez le module LED RGB à l'ESP32 S3 en faisant passer trois fils des broches de couleur vers des broches de sortie numérique, puis connectez la broche de cathode commune directement à n'importe quelle broche GND de la carte. Si vous utilisez une LED RGB nue (sans le module), n'oubliez pas d'ajouter une résistance de limitation de courant de 220 ohms en série avec chaque broche de couleur.
Consignes de sécurité
Utilisez toujours des résistances de limitation de courant (220 ohms par canal) lors du câblage d'une LED RGB nue — les omettre risque d'endommager définitivement la LED ou de griller les broches GPIO de l'ESP32 S3. Utiliser un module LED RGB élimine ce risque car les résistances sont déjà intégrées.
- Schéma de câblage entre l'ESP32 S3 et la LED RGB

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Schéma de câblage entre l'ESP32 S3 et le module LED RGB

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche de la LED RGB | Composant | Broche ESP32 S3 |
|---|---|---|
| R (rouge) | Résistance 220Ω (ou intégrée au module) | GPIO1 |
| G (vert) | Résistance 220Ω (ou intégrée au module) | GPIO42 |
| B (bleu) | Résistance 220Ω (ou intégrée au module) | GPIO40 |
| Commune (Cathode−) | Fil direct | GND |
Comment contrôler la LED RGB
Contrôler la LED RGB avec l'ESP32 S3 implique trois étapes : choisir une couleur cible, la convertir en valeurs R/V/B, et écrire ces valeurs avec analogWrite(). Les étapes suivantes parcourent le processus en utilisant la couleur #00979D comme exemple.
- Trouvez le code de couleur. Astuces :
- Vous pouvez récupérer le code de couleur que vous souhaitez depuis le sélecteur de couleur
- Si vous voulez utiliser une couleur depuis une image, utilisez l'outil en ligne Colors From Image
- Convertissez le code de couleur en valeurs R, G, B à l'aide de l'outil de w3schools. Dans ce cas : R = 0, G = 151, B = 157

- Définissez les broches de l'ESP32 S3 connectées à R, G et B. Par exemple :
- Configurez ces broches de l'ESP32 S3 comme sorties :
- Contrôlez la LED pour qu'elle émette la couleur cible (#00979D → R = 0, G = 151, B = 157) :
Code ESP32 S3
Étapes rapides
Le code suivant fait alterner la LED RGB entre trois couleurs en séquence. Avant de téléverser, assurez-vous que votre câblage correspond au schéma ci-dessus et que votre Arduino IDE est configuré pour la carte ESP32 S3.
- Nouveau sur l'ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Câblez le circuit : Connectez la LED RGB (ou le module) à l'ESP32 S3 selon le schéma de câblage ci-dessus.
- Connectez la carte : Branchez l'ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
- Ouvrez Arduino IDE : Lancez l'Arduino IDE sur votre ordinateur.
- Sélectionnez la carte : Choisissez ESP32 S3 et son port COM correspondant.
- Copiez le code : Copiez le code ci-dessous et collez-le dans Arduino IDE.
Le code suivant change la couleur de la LED parmi trois valeurs en séquence :
- #00C9CC (R = 0, G = 201, B = 204)
- #F7788A (R = 247, G = 120, B = 138)
- #34A853 (R = 52, G = 168, B = 83)
- Téléversez le code : Cliquez sur le bouton Upload dans Arduino IDE pour compiler et téléverser.

- Observez les résultats : Regardez la LED RGB alterner entre trois couleurs différentes, chacune maintenue pendant une seconde.
- Astuce pro : Utilisez un sélecteur de couleur en ligne pour trouver le code hexadécimal de n'importe quelle couleur souhaitée, convertissez-le en valeurs R/V/B, et insérez ces nombres directement dans les appels analogWrite() pour afficher cette couleur exacte sur votre LED.
Explication du code ligne par ligne
Le code ESP32 S3 ci-dessus contient une explication ligne par ligne. Veuillez lire les commentaires dans le code !
Lorsqu'on utilise de nombreuses couleurs, on peut raccourcir le code en créant une fonction :
Lorsque votre projet doit afficher de nombreuses couleurs différentes, répéter trois appels analogWrite() pour chaque couleur devient rapidement lourd à gérer. Le code suivant refactorise la logique de couleur dans une fonction réutilisable setColor(), rendant le croquis plus propre et plus facile à maintenir.
Sortie du moniteur série
Le tutoriel sur la LED RGB ne produit pas de sortie sur le moniteur série par défaut, mais vous pouvez ajouter Serial.begin(9600) dans setup() et enregistrer chaque changement de couleur pour vérifier que votre code s'exécute comme prévu. Un exemple de sortie après l'ajout de la journalisation série ressemblerait à :
Applications et idées de projets
Le contrôle de couleur de LED RGB est une brique de base puissante pour un large éventail de projets ESP32 S3 nécessitant une sortie visuelle expressive.
- Lampe d'ambiance : Créez un éclairage d'ambiance contrôlé par WiFi qui permet aux utilisateurs de sélectionner n'importe quelle couleur depuis une page web, en exploitant les capacités sans fil intégrées de l'ESP32 S3.
- Indicateur d'état : Affichez vert pour normal, jaune pour avertissement et rouge pour les états d'erreur dans un système de surveillance IoT connecté à l'ESP32 S3.
- Lumière de notification : Faites clignoter une couleur spécifique lorsque l'ESP32 S3 reçoit un message MQTT particulier, une alerte email ou un déclencheur webhook.
- Visualiseur de température : Associez les relevés de température du capteur à un dégradé de couleur — bleu pour froid, vert pour confortable, rouge pour chaud — en utilisant les entrées analogiques de l'ESP32 S3.
- Retour de manette de jeu : Utilisez des changements de couleur pour signaler des états de jeu, une détection de coup ou des tours de joueur dans un projet interactif alimenté par l'ESP32 S3.
- Minuterie de veilleuse : Passez par des couleurs chaudes en soirée et virez progressivement vers des tons plus froids la nuit selon un programme basé sur le temps piloté par l'horloge interne de l'ESP32 S3.
Vidéo tutoriel
Regardez ci-dessous la vidéo pas à pas de ce projet ESP32 S3.
Défiez-vous
Une fois que votre LED RGB alterne les couleurs de manière fiable sur l'ESP32 S3, ces exercices progressivement plus difficiles vous aideront à approfondir votre compréhension du PWM, de la théorie des couleurs et de la temporisation.
- Débutant : Changez les trois couleurs de la boucle pour des couleurs de votre choix en utilisant un sélecteur de couleur en ligne pour trouver les valeurs R/V/B.
- Débutant : Ajoutez une quatrième couleur et ajustez les délais afin que chaque couleur s'affiche pendant une durée différente.
- Intermédiaire : Créez un effet de fondu arc-en-ciel fluide qui parcourt en continu tout le spectre des couleurs en utilisant une boucle et setColor().
- Intermédiaire : Ajoutez un bouton-poussoir qui fait avancer l'ESP32 S3 vers la couleur suivante de la séquence à chaque pression.
- Avancé : Mettez en œuvre un fondu croisé fluide entre deux couleurs quelconques en interpolant les valeurs R, G et B pas à pas sans utiliser delay().
- Avancé : Connectez une photorésistance à l'ESP32 S3 et utilisez les relevés de lumière ambiante pour ajuster automatiquement la couleur ou la luminosité de la LED en temps réel.