Найти в Дзене
Электроника и жизнь

Ультразвуковой датчик HC-SR04 для измерения расстояния. Подключение к Ардуино

Оглавление

Здравствуйте, уважаемые читатели! Сегодня поговорим о весьма распространенном ультразвуковом датчике HC-SR04, который позволяет измерять расстояния до объекта в диапазоне от 3 см до 4 метров. В данной статье, разберем схему подключения датчика HC-SR04 к Ардуино и установим необходимую для работы с датчиком библиотеку.

Ультразвуковой датчик HC-SR04
Ультразвуковой датчик HC-SR04

Принцип действия датчика HC-SR04

Принцип действия датчика HC-SR04 заключается в том, что он генерирует ультразвуковой импульсы на частоте около 40кГц и отправляет их через излучатель, на плате обозначенный буквой T ( transmitter, с англ. передатчик). А далее, принимает отраженный от препятствия сигнал с помощью приемника, который на плате обозначен буквой R ( receiver, с англ. приемник). Зная скорость распространения звуковой волны заданной частоты и по задержке между отправкой сигнала и его получением, можно достаточно точно определить расстояние до объекта. Т.е. в своей работе, датчик использует принцип эхолокации.

Принцип действия датчика HC-SR04
Принцип действия датчика HC-SR04

Заявленная погрешность при определении расстояния у датчика HC-SR04 составляет 3 мм. Далее мы на практике проверим эту величину.

Характеристики датчика HC-SR04

  • Измеряемый диапазон : от 3 до 500 см (проверим на практике в следующей статье, ссылки внизу страницы).
  • Точность измерения : 0,3 см.
  • Угол измерения : 15 градусов.
  • Напряжение питания : 5 В.
  • Потребление при работе : 15 мА.
  • Сила тока покоя : < 2 мА.
  • Частота ультразвука : 40кГц.
  • Размеры : 45 мм x 20 мм x 15 мм.

Схема подключения датчика HC-SR04 к Ардуино

Схема подключения датчика HC-SR04 к Ардуино
Схема подключения датчика HC-SR04 к Ардуино

Для подключения датчика нам потребуется задействовать 2 цифровых пина Ардуино. Цифровой вход датчика (Trig ) мы подключим ко 2 пину Ардуино и цифровой выход датчика ( Echo ) к 3 пину. Выводы питания VCC и GND подключим к пинам 5 V и GND Arduino UNO , соответственно.

Библиотеки для работы с датчиком HC-SR04

Для работы с ультразвуковым датчиком HC-SR04 существует множество библиотек. Расскажу о двух самых популярных.

Библиотека Ultrasonic

Скачать библиотеку можно по ссылке https:// github. com/ ErickSimoes/ Ultrasonic.

Библиотека Ultrasonic
Библиотека Ultrasonic

После скачивания библиотеки добавляем ее в среду Arduino IDE.

Добавление библиотеки Ultrasonic в Arduino IDE
Добавление библиотеки Ultrasonic в Arduino IDE

И открываем пример UltrasonicSimple .

Пример UltrasonicSimple библиотеки
Пример UltrasonicSimple библиотеки

Единственное, что изменим в скетче, это номера пинов, к которым у нас подключены цифровой вход (Trig) и цифровой выход датчика (Echo) с 12 и 13, на 2 и 3 , соответственно.

Изменение номеров подключенных пинов
Изменение номеров подключенных пинов

После загрузки скетча в Ардуино, открываем Монитор порта и видим выводимое раз в секунду значение расстояния, измеренное датчиком.

Монитор порта
Монитор порта

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

Библиотека NewPing

Теперь загрузим и установим другую библиотеку, которая называется NewPing . Загружаем самую последнюю версию библиотеки NewPing_v1.9.1.zip по ссылке со страницы https:// playground. arduino. cc/ Code/ NewPing/.

Библиотека NewPing
Библиотека NewPing

Добавляем библиотеку в Arduino IDE, открываем скетч NewPingExample из примеров библиотеки и вносим небольшие корректировки в соответствие с нашим подключением.

Изменения в скетче NewPingExample
Изменения в скетче NewPingExample

Загружаем скетч в Ардуино и открываем Монитор порта.

Монитор порта
Монитор порта

Выводится расстояние до ближайшего препятствия в см. Кстати, хочу отметить, что скетч занимает в памяти 2458 байт, что на 262 байта меньше, чем в случае с библиотекой Ultrasonic . Минимальная дистанция определения препятствия составляет те же 3 см, а вот тест на максимальную дальность работы датчика и точность измерения с использованием обеих библиотек, я проведу в следующей статье . И мы на практике выясним, зависят ли получаемые результаты, от того, какую библиотеку использовать.

Продолжение >>> Вывод информации с датчика HC-SR04 на дисплей TM1637.

_________________________________________________________

Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!

Другие публикации по теме: