#include <EEPROM.h> // Incluimos la librería EEPROM

const int ledPin = 9; // Pin al que está conectado el LED
const int brightnessDefault = 50; // Brillo predeterminado (puedes cambiarlo)

int brightness = brightnessDefault; // Variable para almacenar el brillo actual

void setup() {
  pinMode(ledPin, OUTPUT);
  // Lee el brillo almacenado en la EEPROM
  brightness = EEPROM.read(0); // La dirección 0 de la EEPROM

  // Si el valor leído no es válido (fuera de rango), usa el valor predeterminado
  if (brightness < 0 || brightness > 250) {
    brightness = brightnessDefault;
  }

  analogWrite(ledPin, brightness); // Establece el brillo del LED
}

void loop() {
  // Realiza aquí tu código principal

  // Ejemplo: Cambiar el brillo del LED con un botón
  if (digitalRead(2) == HIGH) {
    brightness += 50;
    if (brightness > 250) {
      brightness = 0;
    }
    analogWrite(ledPin, brightness);
    
    // Guarda el nuevo valor de brillo en la EEPROM
    EEPROM.write(0, brightness);
  }
}