unsigned long oldTime, actTime; unsigned int i = 0; void setup() { oldTime = millis(); // zapamiętujesz czas czy uruchomieniu programu } void loop() { actTime = millis() // zapamiętujesz aktualny czas if (actTime >= oldTime + 1000) { // sprawdzasz czy od ostatniego wykonania lub pierwszego uruchomienia programu minął ofset (lub więcej), tutaj 1000ms i++; // jeśli tak inkrementujesz licznik oldTime = actTime; // i przepisejsz aktualną wartoś jako poprzednią, potem od niej będzie liczony ofset } if (i == 1) { // tutaj akcja która wykonja się po naliczeniu trakcie pierwszej sekundy } else if (i == 2) { // tutaj akcja która wykonja się po naliczeniu drugiej sekundy } else if (i % 5) { // tutaj akcja która wykonja się po naliczeniu co piątej sekundy } else { // tutaj akcja która będzie wykonywać się gdy żaden z powyższych nie będzie spełniony } if (i >= 128) { // jeśl osiągniesz jakąś maksymalną wartość (tutaj 128) resetujesz licznik i zaczynasz od nowa i == 0; } }