clignotante.ino

ESP8266 (module ESP-12E) · Fichier : clignotante.ino · Langage : Arduino · Usage : Faire clignoter la LED du module ESP-12E

La LED bleue de l'ESP-12E est active à LOW — piège classique du premier sketch. millis() garde la boucle libre pour le Wi-Fi, et le moniteur affiche la mémoire libre à chaque battement.

Matériel requis

Un module ESP-12E (ESP8266EX, Wi-Fi 2,4 GHz) monté sur une carte NodeMCU / Wemos D1 mini, alimentée par micro-USB. Aucun : la LED utilisateur du module suffit.

Branchement

Rien à câbler (LED sur GPIO2/D4). Pour une LED externe : broche Dx via 330 Ω vers GND, alimentation par le micro-USB de la carte.

Fonctionnement

digitalWrite inverse LOW/HIGH car la LED est câblée en actif-bas. La boucle compare millis() au dernier changement, sans delay bloquant. Dans l'Arduino IDE, installez le paquet « esp8266 », choisissez « NodeMCU 1.0 (ESP-12E Module) » puis Téléverser (GPIO0 à LOW si le flash échoue). L'ADC A0 lit 0-1 V (diviseur NodeMCU : 0-3,3 V).

Pour aller plus loin

Modulez la période avec un LDR sur A0 (sketch dédié), ou faites clignoter plus vite quand le Wi-Fi est perdu.

clignotante.ino

// Clignotement non bloquant — LED bleue de l'ESP-12E (D4, active a LOW).
const unsigned long PERIODE = 500;

bool etat = false;
unsigned long precedent = 0;

void setup() {
  pinMode(BUILTIN_LED, OUTPUT);   // D4 = GPIO2
  Serial.begin(115200);
  Serial.println("\nClignotement demarre (LED inverse : ON = broche LOW)");
}

void loop() {
  unsigned long t = millis();
  if (t - precedent >= PERIODE) {
    precedent = t;
    etat = !etat;
    digitalWrite(BUILTIN_LED, etat ? LOW : HIGH);   // active a LOW !
    Serial.printf("%s — heap %u o, wifi %d dBm\n",
                  etat ? "ON " : "OFF", ESP.getFreeHeap(), WiFi.Rssi());
  }
}

← Retour à la fiche