unsigned long timing; // Переменная для хранения времени, первоначально это 0 секунд, 0 часов, 0 суток и так далее... void setup() { Serial.begin(9600); pinMode(13, OUTPUT); } // прописываем выход для 13 ножки void loop() { if (millis() - timing > 10000){ // получается что millis "растет", а timing взято с последнего удовлетворения условию, в итоге как только millis пройдет более того, что указано в неравенстве, в нашем случае станте больше millis на 10000, то светодид загорится digitalWrite(13, HIGH); } if (millis() - timing > 20000){ // millis "растет" дальше, во временном интервале между 10000 и 20000 светодиод будет гореть, а потом при условии разницы более 20000 он погаснет и millis приравняется timing, то есть начнется все заново timing = millis(); digitalWrite(13, LOW); } }