#include <EEPROM.h>
#define EEPROM_SIZE 100
#define PIN_RELAY 2
void loadArraysFromEEPROM();
int light;
long int number = 0;
void setup() {
Serial.begin(115200);
pinMode(PIN_RELAY, OUTPUT);
//loadArraysFromEEPROM();
}
void loop() {
light = random(0, 2); //є чи немає світла
if(light == 1) //якщо світло є
{
loadArraysFromEEPROM(); //завантажуємо змінну
digitalWrite(PIN_RELAY, HIGH);
delay(500);
digitalWrite(PIN_RELAY, LOW);
delay(500);
number = number + 1;
Serial.println(number);
}
else //якщо світло вимкнене
{
saveArraysToEEPROM(); //ми зберігаємо значення number
Serial.println(number);
number = 0; //оскільки світла немає ми обнулили змінну
}
}
// Функція збереження параметрів освітлення при вимкненні світла EEPROM
void saveArraysToEEPROM() {
EEPROM.begin(EEPROM_SIZE);
// Зберігаємо значення number
EEPROM.put(0, number);
EEPROM.put(1, PIN_RELAY);
EEPROM.commit();
EEPROM.end();
}
// Функція для завантаження параметрів з EEPROM
void loadArraysFromEEPROM() {
EEPROM.begin(EEPROM_SIZE);
// Завантажуємо значення number
EEPROM.get(0, number);
EEPROM.get(1, PIN_RELAY);
EEPROM.end();
}