// Данный код выполняет действия периодически за указанный период
// Нам нужно задать период таймера В МИЛЛИСЕКУНДАХ
// дней*(24 часов в сутках)*(60 минут в часе)*(60 секунд в минуте)*(1000 миллисекунд в секунде)
// (long) обязательно для больших чисел, иначе не посчитает
// можно посчитать на калькуляторе, но какбэ ардуино и есть калькулятор, пусть считает...
unsigned long period_time = (long)5*24*60*60*1000;
// переменная таймера, максимально большой целочисленный тип (он же uint32_t)
unsigned long my_timer;
void setup() {
my_timer = millis(); // "сбросить" таймер
}
void loop() {
if ((long)millis() - my_timer > period_time) {
my_timer = millis(); // "сбросить" таймер
// набор функций, который хотим выполнить один раз за период
// бла бла бла
// ...
}
}
Ссылка на источник: https://alexgyver.ru/arduino-algorithms/