Библиотека позволяет получать расстояние в см, от датчика расстояния HC-SR04 до препятствия.
Данная библиотека использует второй аппаратный таймер для опроса датчика в фоновом режиме, по этому нельзя устанавливать ШИМ на 3 или 11 выводы, нельзя подключить больше 4 датчиков и нельзя работать с библиотеками которые так же используют второй аппаратный таймер. Но благодаря использованию таймера, библиотека позволяет подключать датчики к любым выводам и не приостанавливает выполнение кода при ожидании ответа от датчика.
Если ограничения данной библиотеки Вас не устраивают, воспользуйтесь библиотекой iarduino_HC_SR04_int использующую выводы с внешним прерыванием, или библиотекой iarduino_HC_SR04 которая опрашивает датчики в режиме реального времени, ожидая ответы датчиков.
Синтаксис трёх библиотек одинаков, но функции begin() и work() есть только у библиотеки использующей второй аппаратный таймер.
Подробное описание работы с библиотекой, находится в разделе Wiki - датчик HC-SR04.
#include <iarduino_HC_SR04_tmr.h> // Подключаем библиотеку
iarduino_HC_SR04_tmr ОБЪЕКТ( ВЫВОД_TRIG , ВЫВОД_ECHO ); // Создаём объект.
Функция begin( [ ПЕРИОД ОПРОСА ] ); // Инициирует работу с датчиком, принимая в качестве необязательного параметра период опроса датчика вторым аппаратным таймером в мс.
Функция work( [ ФЛАГ ] ); // Позволяет отключить опрос датчика таймером или возобновить его.
Функция distance( [ ТЕМПЕРАТУРА ] ); // Возвращает расстояние в см, принимая, в качестве необязательного параметра, температуру воздуха.
Переменная averaging // Положительное целое число - коэффициент усреднения показаний возвращаемых функцией distance().