• Новый номер телефона WhatsApp и Telegram: +7 993 910‑76‑27
  • 0
    КОРЗИНА
    0 ТОВАРА

    Библиотека «iarduino_HC_SR04_tmr»

    tremaru / iarduino_HC_SR04_tmr

    ★ Обновлено: 19:28 28.12.2024 ☆ Создан: 14:12 16.10.2020

    Релизы

    Версия 1.0.2
    04.06.2024
    Cкачать
    Версия 1.0.1
    23.04.2024
    Cкачать
    Версия 1.0.0
    22.09.2021
    Cкачать

    Библиотека для получения расстояния до объекта с помощью ультразвуковых датчиков семейства HC-SR04.

    Поддерживаемые модели

    Подробности

    Библиотека отправляет стартовый импульс датчику, а время ответа преобразует в расстояние. Посылка и приём импульсов происходит через аппаратный таймер — Timer2, поэтому выполнение кода скетча не приостанавливается на время ожидания сигнала ответа от датчика, которое может достигать 38 мс.

    Посылка и приём импульсов происходит через аппаратный таймер — Timer2.

    • Преимущество:
      • Библиотека не ждёт ответа от датчика, который может длиться до 38 мс.
    • Недостатки:
      • Совместимость только с платами Arduino с ядром AVR: Uno, Leonardo, Mega, Nano и их аналоги.
      • Нельзя использовать ШИМ на контактах: 3 и 11
      • Нельзя подключить более четырёх дальномеров.
      • Нельзя работать с библиотеками которые так же используют аппаратный таймер — Timer2.

    Если ограничения данной библиотеки вас не устраивают, воспользуйтесь другими нашими библиотеками:

    Установка

    Для старта скачайте и установите библиотеку iarduino_HC_SR04_tmr. Для инсталляции рекомендуем использовать нашу инструкцию по установке библиотек для Arduino.

    Использование в коде

    Подключение

    • Назначение: подключение библиотеки.
    • Синтаксис: #include <iarduino_HC_SR04_tmr.h>
    • Примечания:
      • Библиотека подключается в самом начале программы.
      • Подключение библиотеки обязательное действие, иначе функции работать не будут.
    • Примеры:
    // Подключаем библиотеку для работы с дальномером HC-SR04
    #include <iarduino_HC_SR04_tmr.h>
    

    Конструктор

    • Назначение: создание объекта для работы с функциями библиотеки iarduino_HC_SR04_tmr
    • Синтаксис: iarduino_HC_SR04_tmr sensor(uint8_t pinTRIG, uint8_t pinECHO)
    • Параметры:
      • pinTRIG: пин отправки сигнала с дальномера на внешний контроллер.
      • pinECHO: пин приёма сигнала с внешнего контроллера на дальномер.
    • Возвращаемое значение: нет
    • Примечания:
      • Конструктор вызывается в самом начале программы.
      • Вызов конструктор обязателен, иначе функции работать не будут.
      • Можно использовать любые пины ввода-вывода.
    • Пример:
    // Создаём объект sensor для работы с функциями библиотеки iarduino_HC_SR04_tmr
    // В параметре конструктора передаём пины TRIG и ECHO
    iarduino_HC_SR04_tmr sensor(12, 11);
    

    Функция begin()

    • Назначение: инициирует работу с датчиком.
    • Синтаксис: void begin(uint16_t time = 50)
    • Параметры:
      • time: период опроса датчика от 50 до 3000 мс. Необязательный параметр и по умолчанию равен 50 мс.
    • Возвращаемое значение: нет
    • Примечания: метод достаточно вызывать один раз в функции setup().
    • Примеры:
      // Инициируем работу с датчиком
      // Период опроса датчика оставляем по умолчанию 50 мс
      sensor.begin();
    
      // Инициируем работу с датчиком
      // Период опроса датчика устанавливаем 1000 мс
      sensor.begin(1000);
    

    Функция work()

    • Назначение: выключает и включает опрос датчика таймером.
    • Синтаксис: void work(bool state)
    • Параметры:
      • state:
        • true: включает опрос датчика
        • false: выключает опрос датчика
    • Возвращаемое значение: нет
    • Примечания:
      • По умолчанию опрос датчика включён.
      • Если установить несколько дальномеров рядом, звуковая волна отправленная одним датчиком может быть принята другим датчиком, что в итоге может исказить показания. Функция work() позволяет опрашивать несколько дальномеров поочереди, предотвратив пересечение их звуковых волн.
    • Примеры:
      // Включаем опрос датчика
      sensor.work(true);
    
      // Выключаем опрос датчика
      sensor.work(false);
    

    Функция distance()

    • Назначение: Возвращает расстояние до препятствия в см.
    • Синтаксис: long distance(int8_t temperature = 23)
    • Параметры:
      • temperature: температура окружающей среды от -128 до 127 °C. Необязательный параметр и по умолчанию равен 23 °C.
    • Возвращаемое значение: измеренное расстояние до препятствия от 3 до 400 см.
    • Примечания: функция ждёт ответа от датчика, что может занять до 38 мс.
    • Примеры:
      // Вычисляем расстояние до объекта
      // Температуру окружающей оставляем по умолчанию 23 °C
      int sensorDistance = sensor.distance();
    
      // Вычисляем расстояние до объекта
      // с указанием температуры окружающей среды 70 °C
      int sensorDistance = sensor.distance(70);
    

    Переменная averaging

    • Назначение: Усредняет выводимые показания.
    • Синтаксис: averaging
    • Значение: уровень коэффициента усреднение от 0 до 1000
      • 0: бех усреднений
      • 10: минимальное усреднение
      • 100: нормальное усреднение
      • 1000: сильное усреднение
    • Возвращаемое значение: нет
    • Примечания: при снятии показаний без усреднений мы можем получать «прыгающие» значения. Например, на дистанции в 200 см до препятствия, показания могут колебаться от 198 до 202. Это может быть причиной следующих факторов: геометрия отражающей поверхности, колебания температуры воздуха, колебания питания датчика, посторонние шумы и многое другое. Для устранения помех можно указать коэффициент усреднения: чем выше значение коэффициента, тем плавнее будут меняться данные возвращаемые функцией distance().
    • Примеры:
      // Указываем коэффициент усреднения 15
      sensor.averaging = 15;
    

    Сопровождающие товары

    Гарантии и возврат Используя сайт Вы соглашаетесь с условями
    Есть вопрос?