Несколько таймеров в одном

Как по мне, работу с миллис надо обязательно освоить. Тем более ничего сложного. А потом уже можно дальше “шагать” - к библиотекам, ит.д
Вот простейший таймер на миллис для 4-х, независимых друг от друга событий , с разной периодичностью

Спойлер
void setup() {
  Serial.begin(115200);
}

void loop() {

  static uint32_t last_millis_1 = 0;
  static uint32_t last_millis_2 = 0;
  static uint32_t last_millis_3 = 0;
  static uint32_t last_millis_4 = 0;

  if (millis() - last_millis_1 >= 500 ) //событие происходит
  { //каждые 500мс
    last_millis_1 = millis();
    Serial.println("timer_1");
  }

  if (millis() - last_millis_2 >= 1000 ) //событие поиходт
  { //каждые 1000мс
    last_millis_2 = millis();
    Serial.println("timer_2");
  }

  if (millis() - last_millis_3 >=  1500 ) //событие прсхоит
  { //каждые 1500мс
    last_millis_3 = millis();
    Serial.println("timer_3");
  }

  if (millis() - last_millis_4 >= 2000 ) //событие просходит
  { //каждые 2000мс
    last_millis_4 = millis();
    Serial.println("timer_4");
  }

}
Спойлер

1 лайк