clignotante.ino

ESP32-S3 · Archivo : clignotante.ino · Lenguaje : Arduino · Uso : Faire clignoter une LED sans bloquer la boucle

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-S3 (doble núcleo Xtensa con instrucciones vectoriales, Wi-Fi + BLE 5, USB nativo) tipo DevKitC-1, XIAO o T-Display-S3, alimentada por USB. Nada: basta el LED de usuario de la placa (si no, LED + resistencia de 330 Ω).

Cableado

Pin 48 (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 (paquete esp32), elija « ESP32S3 Dev Module », active « USB CDC On Boot » y suba. Muchas placas ponen un WS2812 en GPIO48.

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-s3 (millis au lieu de delay).
const int LED = 48;          // 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());
  }
}

← Volver a la ficha