Вообще в корне не верный подход!
Вот таймер прямого счета (взято отсюда):
/ переменные для отсчета минут и секунд
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));
}
}
Переделать его на обратный отсчет дело нескольких минут.