МЫ СОЗДАЕМ И ПРОИЗВОДИМ
ЭЛЕКТРОННЫЕ НАБОРЫ И МОДУЛИ !
Библиотека для получения расстояния до объекта с помощью ультразвуковых датчиков семейства HC-SR04.
Библиотека отправляет стартовый импульс датчику, а время ответа преобразует в расстояние. Приём импульсов происходит через аппаратное внешнее прерывание, поэтому выполнение кода скетча не приостанавливается на время ожидания сигнала ответа от датчика, которое может достигать 38 мс.
Посылка и приём импульсов происходит через аппаратные прерывания.
ECHO нужно подключать только к тем выводам Arduino, которые поддерживают внешние прерывания. Контакт TRIG можно подключать к любому выводу Arduino.Если ограничения данной библиотеки вас не устраивают, воспользуйтесь другими нашими библиотеками:
iarduino_HC_SR04: ожидает ответ от датчика в режиме реального времени.
iarduino_HC_SR04_tmr: использует аппаратный таймер и не будет ждать ответа от датчика.
Для старта скачайте и установите библиотеку iarduino_HC_SR04_int. Для инсталляции рекомендуем использовать нашу инструкцию по установке библиотек для Arduino.
#include <iarduino_HC_SR04_int.h>// Подключаем библиотеку для работы с дальномером HC-SR04 #include <iarduino_HC_SR04_int.h>
iarduino_HC_SR04_intiarduino_HC_SR04_int sensor(uint8_t pinTRIG, uint8_t pinECHO)pinTRIG: пин отправки сигнала с дальномера на внешний контроллер.pinECHO: пин приёма сигнала с внешнего контроллера на дальномер.ECHO нужно подключать только к тем выводам Arduino, которые поддерживают внешние прерывания. Контакт TRIG можно подключать к любому выводу Arduino.// Создаём объект sensor для работы с функциями библиотеки iarduino_HC_SR04_int // В параметре конструктора передаём пины TRIG и ECHO iarduino_HC_SR04_int sensor(3, 2);
long distance(int8_t temperature = 23)temperature: температура окружающей среды от -128 до 127 °C. Необязательный параметр и по умолчанию равен 23 °C.3 до 400 см.// Вычисляем расстояние до объекта // Температуру окружающей оставляем по умолчанию 23 °C int sensorDistance = sensor.distance();
// Вычисляем расстояние до объекта // с указанием температуры окружающей среды 70 °C int sensorDistance = sensor.distance(70);
averaging0 до 10000: бех усреднений10: минимальное усреднение100: нормальное усреднение1000: сильное усреднение200 см до препятствия, показания могут колебаться от 198 до 202. Это может быть причиной следующих факторов: геометрия отражающей поверхности, колебания температуры воздуха, колебания питания датчика, посторонние шумы и многое другое. Для устранения помех можно указать коэффициент усреднения: чем выше значение коэффициента, тем плавнее будут меняться данные возвращаемые функцией distance().// Указываем коэффициент усреднения 15 sensor.averaging = 15;
