🛠 Faire clignoter une LED avec l'ESP8266-ESP-12E
Objectifs
Découvrir la carte ESP8266-ESP-12E en faisant clignoter une LED. Ce premier montage permet de comprendre l'alimentation en 3,3 V uniquement (jamais 5 V sur cette carte !), le rôle de la broche CH_PD (ou VCC du module) qui doit être reliée au 3,3 V pour que le module démarre, et le principe de la broche GPIO2 : elle doit rester haute au démarrage, ce qui est le cas avec une LED et sa résistance vers la masse. Le module ne possède qu'un seul cœur Xtensa : tout le programme s'exécute en séquence.
Matériel
- 1 module ESP8266-ESP-12E (ou carte de développement ESP-12E avec régulateur 3,3 V)
- 1 LED
- 1 résistance de 220 Ω à 330 Ω
- 1 alimentation 3,3 V stable (capable de fournir environ 250 mA en pointe)
- Fils de connexion, planche à pain
Code complet
// Clignotement LED sur GPIO2 (broche D4 sur cartes NodeMCU)
const uint8_t LED_PIN = 2;
void setup {
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW); // LED éteinte au repos
}
void loop {
digitalWrite(LED_PIN, HIGH); // LED allumée
delay(500);
digitalWrite(LED_PIN, LOW); // LED éteinte
delay(500);
}
Vérification attendue
La LED clignote une fois par seconde (500 ms allumée, 500 ms éteinte). Sur la plupart des modules ESP-12E, la LED embarquée est justement sur GPIO2 : le montage fonctionne donc aussi sans LED externe. Si le module ne démarre pas du tout (port série muet, pas de message au boot), vérifie en priorité que CH_PD est bien relié au 3,3 V.
Erreurs fréquentes
- Alimenter le module en 5 V : l'ESP8266 fonctionne exclusivement en 3,3 V, le 5 V peut le détruire.
- Oublier de relier CH_PD au 3,3 V : le module reste éteint, aucun message sur la console.
- Mettre la LED sur GPIO0 avec une résistance faible : GPIO0 doit rester haut au démarrage, sinon le module passe en mode flash et le programme ne démarre pas.
- Oublier la résistance en série avec la LED, ce qui surcharge la broche.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.inoArduinobouton-led.inoArduinorespiration.inoArduinodht11.inoArduinoluxmetre.inoArduinoserveur-web.inoArduino