🛠 Faire clignoter la LED RGB sur GPIO8
Objectifs
Premier hello-world du ESP32-C3 (RISC-V, cœur unique, Wi-Fi + Bluetooth 5) : piloter la LED RGB embarquée sur GPIO8, présente sur la plupart des cartes compactes (SuperMini, DevKitM). Vous apprendrez aussi la particularité de cette broche : GPIO8 est une broche de strapping, ce qui impose des précautions de câblage.
Matériel
- 1 carte ESP32-C3 (SuperMini ou DevKitM-1, flash 4 Mo)
- 1 câble USB-C data
- Aucun composant externe si la LED est embarquée
Code complet
const uint8_t LED = 8; // LED RGB embarquée, aussi broche de strapping
void setup {
pinMode(LED, OUTPUT);
}
void loop {
digitalWrite(LED, HIGH); delay(150); // double flash
digitalWrite(LED, LOW); delay(150);
digitalWrite(LED, HIGH); delay(150);
digitalWrite(LED, LOW); delay(850); // pause
}
Vérification attendue
La LED clignote selon un motif deux éclairs brefs puis une pause d'une seconde. En sélectionnant la carte « ESP32C3 Dev Module » dans le menu Outils, le flash passe directement par l'USB-C sans bouton à maintenir sur la plupart des cartes.
Erreurs fréquentes
- Mauvais type de carte : choisir une carte « ESP32C3… », pas « ESP32 Dev Module » (architecture Xtensa), sinon le binaire ne démarre pas.
- Câble USB-C de charge seule : le port série n'apparaît jamais ; tester avec un autre câble.
- Relier GPIO8 à la masse via une résistance permanente : GPIO8 est broche de strapping (avec GPIO2 et GPIO9) et doit pouvoir rester au niveau haut au démarrage, sous peine de boot capricieux.
- Carte sans LED sur GPIO8 : vérifier le schéma de sa carte, certaines placent la LED sur GPIO12 ou une LED WS2812 sur GPIO8.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.inoArduinobouton-led.inoArduinorespiration.inoArduinodht22.inoArduinooled-i2c.inoArduinoserveur-web.inoArduino