clignotante.ino
La comprobación básica de la placa: el LED parpadea a 1 Hz con millis() en vez de delay(), dejando el bucle libre para Wi-Fi o sensores. El monitor también imprime heap libre, útil antes de añadir librerías de radio.
Hardware necesario
Una placa ESP32 clásica (módulo ESP32-WROOM-32, doble núcleo Xtensa a 240 MHz, Wi-Fi + Bluetooth) tipo DevKitC / DOIT V1, alimentada por micro-USB. Nada: basta el LED de usuario de la placa (si no, LED + resistencia de 330 Ω).
Cableado
Pin 2 (LED integrada en la mayoría de DevKit); si no, ánodo por 330 Ω, cátodo a GND.
Funcionamiento
millis() cuenta milisegundos transcurridos; cuando la diferencia supera el periodo se cambia el pin. Sin retardos bloqueantes: loop() puede girar a plena velocidad. En el Arduino IDE, instale el paquete « esp32 » (Gestor de placas), elija « Dev Module », el puerto y Subir (mantenga BOOT si falla la detección). GPIO34-39 son solo entrada; evite GPIO6-11 y GPIO12.
Para ir más lejos
Conecte dos LED y alternelos, o varíe el periodo con un potenciómetro en un pin ADC.
clignotante.ino
// Clignotement non bloquant sur la carte esp32 (millis au lieu de delay).
const int LED = 2; // LED utilisateur de la plupart des cartes
const unsigned long PERIODE = 500; // ms
bool etat = false;
unsigned long precedent = 0;
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(115200);
Serial.println("Clignotement demarre");
}
void loop() {
unsigned long t = millis();
if (t - precedent >= PERIODE) {
precedent = t;
etat = !etat;
digitalWrite(LED, etat ? HIGH : LOW);
Serial.printf("LED %s — heap libre : %u\n", etat ? "ON" : "OFF", ESP.getFreeHeap());
}
}