0
КОРЗИНА
0 ТОВАРА

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

tremaru / iarduino_HC_SR04_int

★ Обновлено: 19:47 23.04.2024 ☆ Создан: 18:55 21.05.2019

Релизы

Версия 1.0.2
23.04.2024
Cкачать

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

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

Подробности

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

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

  • Преимущество:
    • Библиотека не ждёт ответа от датчика, который может длиться до 38 мс.
  • Недостатки:
    • Совместимость только с платами Arduino, которые поддерживают прерывания.
    • Контакт ECHO нужно подключать только к тем выводам Arduino, которые поддерживают внешние прерывания. Контакт TRIG можно подключать к любому выводу Arduino.
    • Количество подключаемых датчиков ограничено количеством выводов с прерыванием.
На каждой плате распиновка и количество прерываний отличается между собой. Для справки читайте официальную документацию от производителя.

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

Установка

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

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

Подключение

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

Конструктор

  • Назначение: создание объекта для работы с функциями библиотеки iarduino_HC_SR04_int
  • Синтаксис: iarduino_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);

Функция 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;

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

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