Metro

Скачать: https://github.com/thomasfredericks/Metro-Arduino-Wiring

Библиотека Metro облегчает реализацию повторяющихся временных событий, например, таких как мигающие светодиоды, управление серводвигателем, передача данных через последовательный порт.

Пример использования:

/*
 
Периодическое мигание светодиодом
 
Этот код включает/выключает светодиод, подключенный к 13-ому контакту.
Включение/выключение осуществляется с периодичностью 0,25 секунды.
 
*/
 
#include "Metro.h" // подключаем библиотеку Metro
#define LED 13 // задаем контакт светодиода
 
// создаем переменную, в которой будет храниться 
// текущее состояние светодиода:
int state = HIGH;
 
// Создаем экземпляр класса Metro, и задаем интервал в 0,25 секунды: 
Metro ledMetro = Metro(250); 
 
void setup()
{
  pinMode(LED,OUTPUT);
  digitalWrite(LED,state);
}
 
void loop()
{
 
  if (ledMetro.check() == 1) { // проверяем, прошел ли объект Metro 
                               // заданный временной интервал
    if (state==HIGH)  state=LOW;
    else state=HIGH;
 
    digitalWrite(LED,state);
  }
}