#include <EEPROM.h>
unsigned long startTime;
unsigned long elapsedTime;
const int EEPROM_ADDRESS = 0; // The address in EEPROM to store the elapsed time
void setup() {
Serial.begin(9600);
// Read the saved elapsed time from EEPROM
unsigned long savedTime = 0;
EEPROM.get(EEPROM_ADDRESS, savedTime);
Serial.print("Saved time: ");
Serial.print(savedTime / 1000);
Serial.println(" seconds");
// Set the startTime considering the saved elapsed time
startTime = millis() - savedTime;
}
void loop() {
elapsedTime = millis() - startTime;
Serial.print("Elapsed time: ");
Serial.print(elapsedTime / 1000); // Convert to seconds
Serial.println(" seconds");
// Save the elapsed time to EEPROM every second
if (elapsedTime % 1000 < 50) { // Adding a small range to avoid writing multiple times within the same second
EEPROM.write(EEPROM_ADDRESS, elapsedTime);
}
// Perform other tasks
delay(1000); // Update every second
}