Приветствую, уважаемые форумчане.
Задача стояла такая: сделать таймер обратного отсчета на 5 минут. Проблема в том, что после отсчёта 2х минут таймер сбрасывается, отсчет начинается заново с 5 минут. Ткните носом, что я делаю не так. Спасибо.
/ переменные для отсчета минут и секунд
int SEC = 0;
int MIN = 0;
unsigned long timer;
void setup() {
Serial.begin(9600);
timer = millis();
}
void loop() {
// если прошло 1000 мс - прибавляем одну секунду к переменной SEC
if (millis() - timer > 1000) {
timer = millis();
SEC = SEC + 1;
if (SEC > 59) { // Если прошло 60 секунд
SEC = 0;
MIN = MIN + 1;
}
// выводим текущий счетчик времени на монитор порта
Serial.println(String(MIN) + " : " + String(SEC));
}
}
Переделать его на обратный отсчет дело нескольких минут.
Такой подход используется, когда требуется отсчитать интервал заведомо не меньший заданного. Если же нужно отсчитать заданный интервал с максимальной точностью, писать следует: