#include <FS.h>
#include "SPIFFS.h"
const int ledPin = 18;
const int buttonPin = 19;
bool ledState = false;
void writeFile(bool state, String path) {
File file = SPIFFS.open(path, "w");
if (!file) {
Serial.println("Erro ao abrir arquivo para escrita!");
return;
}
if (state) {
file.println("ligado");
} else {
file.println("desligado");
}
file.close();
}
bool readFile(String path) {
File file = SPIFFS.open(path, "r");
if (!file) {
Serial.println("Erro ao abrir arquivo para leitura!");
return false;
}
String state = file.readStringUntil('\n');
state.trim();
file.close();
if (state == "ligado") {
return true;
} else {
return false;
}
}
void setup() {
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
if (!SPIFFS.begin()) {
Serial.println("Erro ao montar sistema de arquivos!");
return;
}
ledState = readFile("/estado_led.txt");
digitalWrite(ledPin, ledState);
}
void loop() {
if (digitalRead(buttonPin) == LOW) {
delay(50);
if (digitalRead(buttonPin) == LOW) {
ledState = !ledState;
digitalWrite(ledPin, ledState);
writeFile(ledState, "/estado_led.txt");
delay(200);
}
}
}