Ультразвуковой датчик расстояния ардуино. Ультразвуковой датчик расстояния для Arduino: принцип работы, подключение и примеры использования

Как работает ультразвуковой датчик расстояния HC-SR04 с Arduino. Какие основные характеристики у этого датчика. Как правильно подключить HC-SR04 к Arduino. Примеры кода для измерения расстояния с помощью ультразвукового датчика. Какие проекты можно реализовать на основе Arduino и HC-SR04.

Содержание

Принцип работы ультразвукового датчика расстояния

Ультразвуковой датчик расстояния HC-SR04 позволяет измерять расстояние до объектов в диапазоне от 2 см до 4 м. Принцип его работы основан на излучении ультразвуковых волн и измерении времени, за которое отраженная волна вернется обратно к датчику.

Основные компоненты HC-SR04:

  • Ультразвуковой передатчик
  • Ультразвуковой приемник
  • Схема управления

Алгоритм работы датчика:

  1. На вход Trig подается короткий импульс длительностью 10 мкс
  2. Передатчик излучает 8 ультразвуковых импульсов частотой 40 кГц
  3. Звуковая волна отражается от препятствия и возвращается к приемнику
  4. На выходе Echo формируется импульс, длительность которого пропорциональна расстоянию до объекта

Расстояние до объекта вычисляется по формуле:

Расстояние = (Длительность импульса Echo * Скорость звука) / 2

Коэффициент 2 используется, так как звуковая волна проходит расстояние до объекта и обратно.

Характеристики ультразвукового датчика HC-SR04

Основные параметры HC-SR04:

  • Напряжение питания: 5В
  • Ток потребления: 15 мА
  • Диапазон измерения: 2-400 см
  • Точность: ±3 мм
  • Угол обзора: 15°
  • Рабочая частота: 40 кГц
  • Размеры: 45 x 20 x 15 мм

Преимущества HC-SR04:

  • Низкая стоимость
  • Простота использования
  • Высокая точность измерений
  • Широкий диапазон измерения
  • Компактные размеры

Подключение HC-SR04 к Arduino

Схема подключения ультразвукового датчика к Arduino:

  • VCC — к выводу 5V Arduino
  • GND — к выводу GND Arduino
  • Trig — к цифровому выводу Arduino (например, D7)
  • Echo — к цифровому выводу Arduino (например, D8)

Для повышения точности измерений рекомендуется использовать стабилизированное питание 5В. Также желательно установить развязывающий конденсатор 100 нФ между VCC и GND датчика.

Программирование Arduino для работы с HC-SR04

Пример кода для измерения расстояния с помощью HC-SR04:

«`cpp const int trigPin = 7; const int echoPin = 8; void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; Serial.print(«Distance: «); Serial.print(distance); Serial.println(» cm»); delay(500); } «`

В этом примере:

  • Функция setup() инициализирует последовательный порт и настраивает пины
  • В loop() генерируется триггерный импульс на Trig
  • Функция pulseIn() измеряет длительность импульса на Echo
  • Расстояние вычисляется по формуле: distance = duration * 0.034 / 2
  • Результат выводится в Serial Monitor каждые 500 мс

Фильтрация данных с ультразвукового датчика

Для повышения стабильности измерений рекомендуется использовать фильтрацию данных. Один из простых методов — усреднение нескольких последних измерений:

«`cpp const int trigPin = 7; const int echoPin = 8; const int numReadings = 5; int readings[numReadings]; int readIndex = 0; int total = 0; int average = 0; void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); for (int i = 0; i < numReadings; i++) { readings[i] = 0; } } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; total = total - readings[readIndex]; readings[readIndex] = distance; total = total + readings[readIndex]; readIndex = (readIndex + 1) % numReadings; average = total / numReadings; Serial.print("Filtered distance: "); Serial.print(average); Serial.println(" cm"); delay(100); } ```

В этом примере используется скользящее среднее по 5 последним измерениям. Это позволяет сгладить случайные выбросы и получить более стабильные показания.

Проекты на основе Arduino и HC-SR04

Ультразвуковой датчик HC-SR04 можно использовать во многих интересных проектах:

  1. Парковочный ассистент для автомобиля
  2. Система предотвращения столкновений для роботов
  3. Измеритель уровня жидкости в резервуаре
  4. Охранная система с детектором движения
  5. Автоматическая система полива растений

Рассмотрим пример кода для простой системы предупреждения о препятствиях:

«`cpp const int trigPin = 7; const int echoPin = 8; const int ledPin = 13; const int buzzerPin = 12; void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(ledPin, OUTPUT); pinMode(buzzerPin, OUTPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; Serial.print(«Distance: «); Serial.print(distance); Serial.println(» cm»); if (distance < 30) { digitalWrite(ledPin, HIGH); tone(buzzerPin, 1000); } else { digitalWrite(ledPin, LOW); noTone(buzzerPin); } delay(100); } ```

В этом проекте:

  • Система постоянно измеряет расстояние до ближайшего объекта
  • Если расстояние меньше 30 см, включается светодиод и звуковой сигнал
  • При увеличении расстояния предупреждение отключается

Такую систему можно использовать, например, на роботизированной платформе для предотвращения столкновений.

Ограничения и проблемы при работе с HC-SR04

При использовании ультразвукового датчика HC-SR04 следует учитывать некоторые ограничения:

  • Ложные срабатывания из-за отражений от других объектов
  • Зависимость точности от температуры и влажности воздуха
  • Невозможность обнаружения звукопоглощающих материалов
  • Ограниченный угол обзора (около 15 градусов)
  • Взаимные помехи при использовании нескольких датчиков

Для минимизации этих проблем рекомендуется:

  • Использовать фильтрацию данных
  • Учитывать температуру при расчете расстояния
  • Применять несколько датчиков для расширения зоны обнаружения
  • Использовать экранирование для уменьшения электромагнитных помех

Альтернативы HC-SR04

Существуют и другие типы датчиков для измерения расстояния, которые могут быть использованы с Arduino:

  • Инфракрасные датчики расстояния (например, Sharp GP2Y0A21YK)
  • Лазерные дальномеры (например, VL53L0X)
  • Радарные датчики (например, RCWL-0516)

Каждый тип датчиков имеет свои преимущества и недостатки:

  • Инфракрасные датчики компактнее, но имеют меньший диапазон измерений
  • Лазерные дальномеры точнее, но дороже
  • Радарные датчики могут обнаруживать движение, но менее точны в измерении расстояния

Выбор конкретного датчика зависит от требований проекта, бюджета и условий эксплуатации.

Заключение

Ультразвуковой датчик HC-SR04 — это простое и эффективное решение для измерения расстояния в проектах на базе Arduino. Он обладает хорошим соотношением цена/качество и широкими возможностями применения. При правильном использовании и учете особенностей работы, HC-SR04 может стать незаменимым компонентом во многих интересных проектах — от простых измерителей расстояния до сложных систем навигации роботов.


Ультразвуковой датчик измерения расстояния HY-SRF05 для Ардуино

Ультразвуковой дальномер HY-SRF05 предназначен для точного измерения расстояния.

Ультразвуковой модуль HY-SRF05 является современной версией популярного дальномера HC-SR04.
Ультразвуковой датчик HC-SRF05 полностью совместим с датчиком HC-SR04, что позволяет заменить его без изменения программного кода.

Модуль HY-SRF05 имеет более высокое разрешение и специальный выход OUT, который переводит датчик в режим работы по одному проводу, таким образом можно сократить количество используемых выводов микроконтроллера.

С помощью ультразвука модуль HY-SRF05 формирует и посылает частотную посылку, затем переключается в режим приема и по задержке отраженного сигнала формирует импульс шириной, пропорциональной расстоянию до объекта.

Ультразвуковой дальномер HY-SRF05 обеспечивает бесконтактное дистанционное измерение расстояния от 2 см до 4.5 метров, с точностью измерения до 2 мм. Датчик HY-SRF05 предназначен для совместного использования с устройствами, использующими платформу ARDUINO (Ардуино), Raspberry Pi,  ESP8266 и ESP32.

Характеристики датчика HY-SRF05:

— Напряжение питания модуля: 5 В постоянного тока DC
— Ток покоя: < 2 мА
— Потребляемый ток: от 10 до 40 мА
— Рабочая частота: 40 кГц
— Угол распространения (эффективный угол): <15°
— Максимум чувствительности в секторе 30°
— Диапазон измеряемого расстояния: от 2 до 450 см
— Разрешающая способность: 0.2 см
— Входной сигнал запуска: импульс 10 мкс TTL
— Эхосигнал: выходной сигнал TTL PWL
— Рабочая температура: от -20 ° C ~ + 60 ° C
— Размеры: 45 x 20 x 15 мм
— Вес: 10 гр.

Выводы модуля HY-SRF05
Вывод с меткой «VCC» –> плюс питания (+ 5 В)
Вывод с меткой «TRIG» –> вход сигнала триггерного управления
Вывод с меткой «ECHO» –> выход эхо-сигнала
Вывод с меткой «OUT» –> цифровой выход есть/нет
Вывод с меткой «GND» –> минус питания

Разъём сенсора HY-SRF05 представляет из себя пять обычных штырьков пинов (тип папа) с шагом 2.54 мм, что позволяет присоединить его в стандартную беспаечную макетную плату, припаять к специальной плате для макетирования или использовать для подключения к сенсору HY-SRF05 обычные провода для беспаечных макетных плат с разъемом (тип мама).

2PCS HC-SR04 Ультразвуковой датчик измерения расстояния для датчика Arduino

Поделиться в:

  • Склад:
  • Отправка: БЕСПЛАТНАЯ ДОСТАВКА COD Этот продукт поддерживает наложенный платеж при доставке. Совет: не размещайте заказы на товары не наложенным платежом, иначе Вы не сможете выбрать способ оплаты наложенным платежом. Отправка между: Aug 10 — Aug 12, Расчетное время доставки: рабочих дней
    Время обработки заказа может занять несколько дней. После отправки со склада время доставки (или доставки) зависит от способа доставки.
  • Цвет:
  • Количество

    - +

  • Рассрочка: Беспроцентный Вы можете наслаждаться максимальной 0 беспроцентной рассрочкой, и может не пользоваться этим предложением при размещении заказов с другими товарами »

Распродажа

Рекомендуемые для вас

Описания

Спецификация

Вес и размер

Вес продукта: 0,0090 кг
Вес упаковки: 0,1800 кг
Размер продукта (Д х Ш х В): 4,50 х 2,50 х 1,50 см / 1,77 х 0,98 х 0,59 дюйма
Размер упаковки (Д х Ш х В): 10,00 х 7,00 х 2,00 см / 3,94 х 2,76 х 0,79 дюйма

Комплектация

Комплектация: 2 x Hc-SR04 Ультразвуковые модули

Предлагаемые продукты

Отзывы клиентов

Получи G баллы! Будь первым, кто напишет обзор!

Вопросы клиентов

  • Все
  • Информация о товаре
  • Состояние запасов
  • Оплата
  • О доставке
  • Другие

Будьте первым, кто задаст вопрос. Хотите G баллы? Просто напишите отзыв!

Хотите купить оптом ? Пожалуйста, отправьте ваш оптовый запрос ниже. Обратите внимание, что мы обычно не предоставляем бесплатную доставку при оптовых заказах , но оптовая цена будет большой сделкой.

Ваши недавно просмотренные товары

Использование ультразвукового модуля датчика расстояния US-100

 

Описание
1. Размеры: 45*20*1.6 мм
2. Напряжение питания постоянного тока: 2,4 Вольт -5,5 Вольт
3. Потребляемый ток в режиме приема: менее 2 ма
4. Угол обзора: менее 15 градусов
5. Дальность обнаружения: 2 см-450 см
6. Точность определения расстояния до объекта: 3 мм + 1%
7. Полная совместимость с модулями Arduino
8. Температурная стабилизация модуля

9. Рабочая температура: от -20 до +70 градусов

10. Выход: импульс пропорциональный дистанции до объекта  или цифровой код через последовательный порт UART (устанавливается перемычкой)

11. Конфигурация последовательного порта UART: скорость 9600 бод, 1 стартовый бит, 1 стоповый бит, 8 бит данных, без проверки четности, без управления потоком.

Описание интерфейса
Этот модуль имеет 5 контактный разъем и два режима работы интерфейса, режимы выбираются перемычкой на тыльной стороне модуля.

Нумерация выводов модуля читается слева направо 1,2,3,4,5 если смотреть с фронтальной стороны модуля:

1 — вход VCC: подключение к  источнику питания плюс 2.4 Вольта ~ 5.5 Вольта.
2 —вход Trig/TX:  Trig — в режиме триггера подключается к цифровому выходу микроконтроллера GPIO;
TX — в режиме последовательного порта UART, подключается к цифровому выходу микроконтроллера TX.
3-выход Echo/RX: в режиме Echo — эха, принимаемого импульса пропорционального дистанции до объекта, подключается к цифровому входу микроконтроллера GPIO;
RX — в режиме  последовательного порта UART, подключается к цифровому входу микроконтроллера RX.
4-вход GND: подключение к  источнику питания  минус 2.4 Вольта ~ 5.5 Вольта.
5-вход GND: подключение к  источнику питания  минус 2.4 Вольта ~ 5.5 Вольта.

Выбор режима интерфейса перемычкой (шаг перемычки 2.54мм):  при замыкании перемычкой контактов модуля его вход 2 (Trig/TX)  переходит в режим (TX) приема цифрового кода в формате последовательного порта UART, при снятии перемычки вход 2 (Trig/TX) модуля переходит в режим (Trig — тригера) приема запускающего импульса.

Если перемычка замкнута — режим обмена по UART 9600-8-N-1. Для запуска передать букву «U» (код 0x55) на вход Tx/Trig, в ответ с выхода Rx/Echo придут два байта: Расстояние_в_мм=первый_байт*256+второй байт. Если передать букву «P» (код 0x50), придёт один байт — температура = 45-байт, в градусах Цельсия. Если перемычку убрать, то включается импульсный режим: на вход Trig подаём положительный импульс длительностью >50мкс, на выходе Echo получаем ответный импульс: расстояние_в_мм=длительность_импульса_в_мкс*0,17
US_100_ULTRASONIC_SENSOR_MODULE

ultrasonic sonar module 1r0

TR40-16OA00

Ультразвуковой дальномер · Clover

Ультразвуковой дальномер («сонар») — это датчик расстояния, принцип действия которого основан на измерении времени распространения звуковой волны (с частотой около 40 кГц) до препятствия и обратно. Сонар может измерять расстояние до 1,5–3 м с точностью до нескольких сантиметров.