Скачать: 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); } }