Как подключить ультразвуковой дальномер HC-SR04 к Arduino
Содержание
- 1 Принцип действияультразвукового дальномера HC-SR04
- 2 Схема подключения датчика расстояния
- 3 Получение дистанции до объекта с датчика HC-SR04
- 4 Библиотека для работы с эхолокатором HC-SR04
- 5 Выводы по работе с сонаром HC-SR04
В этой статье мы подключим ультразвуковой дальномер-эхолокатор HC-SR04 к Arduino и научимся с помощью него определять расстояние до цели.
Инструкция по подключению ультразвукового датчика расстояния HC-SR04 к Arduino
-
или иная совместимая плата; ;
- соединительные провода (рекомендую вот такой набор); (breadboard);
- персональный компьютер со средой разработки Arduino IDE.
1 Принцип действияультразвукового дальномера HC-SR04
Действие ультразвукового дальномера HC-SR04 основано на принципе эхолокации. Он излучает звуковые импульсы в пространство и принимает отражённый от препятствия сигнал. По времени распространения звуковой волны к препятствию и обратно определяется расстояние до объекта.
Запуск звуковой волны начинается с подачи положительного импульса длительностью не менее 10 микросекунд на ножку TRIG дальномера. Как только импульс заканчивается, дальномер излучает в пространство перед собой пачку звуковых импульсов частотой 40 кГц. В это же время на ножке ECHO дальномера появляется логическая единица. Как только датчик улавливает отражённый сигнал, на выводе ECHO появляется логический ноль. По длительности логической единицы на ножке ECHO (Задержка эхо на рисунке) определяется расстояние до препятствия.
Принцип действия ультразвукового дальномера HC-SR04
Диапазон измерения расстояния дальномера HC-SR04 до 4 метров с разрешением 0,3 см. Угол наблюдения 30, эффективный угол 15. Ток потребления в режиме ожидания 2 мА, при работе 15 мА.
2 Схема подключения датчика расстояния
Питание ультразвукового дальномера осуществляется напряжением +5 В. Два других вывода подключаются к любым цифровым портам Arduino, мы подключим к 11 и 12.
Схема подключения датчика расстояния HC-SR04 к Arduino
Ультразвуковой дальномер HC-SR04 подключён к Arduino
3 Получение дистанции до объекта с датчика HC-SR04
Теперь напишем скетч, определяющий расстояние до препятствия и выводящий его в последовательный порт. Сначала задаём номера выводов TRIG и ECHO это 12 и 11 пины. Затем объявляем триггер как выход, а эхо как вход. Инициализируем последовательный порт на скорости 9600 бод. В каждом повторении цикла loop() считываем дистанцию и выводим в порт.
Функция getEchoTiming() генерирует импульс запуска. Она как раз создаёт тот 10-микросекундный импульс, который является триггером для начала излучения дальномером звукового пакета в пространство. Далее она запоминает время от начала передачи звуковой волны до прихода эха.
Функция getDistance() рассчитывает дистанцию до объекта. Из школьного курса физики мы помним, что расстояние равно скорость умножить на время: S = V×t Скорость звука в воздухе 340 м/сек, время в микросекундах мы знаем (переменная duration). Чтобы получить время duration в секундах, нужно разделить его на 1 000 000. Так как звук проходит двойное расстояние до объекта и обратно нужно ещё разделить результат пополам. Вот и получается, что расстояние до объекта S = 34000 см/сек × duration / 1 000 000 сек / 2 = 1,7 см/сек / 100, что мы и написали в скетче.
Операцию умножения микроконтроллер выполняет быстрее, чем операцию деления, поэтому :100 я заменил на эквивалентное ×0,01.
4 Библиотека для работы с эхолокатором HC-SR04
Также для работы с ультразвуковым дальномером написано множество библиотек. Например, вот эта библиотека Ultrasonic. Установка библиотеки происходит стандартно: скачать, разархивировать в директорию /libraries/, которая находится в папке с Arduino IDE. После этого библиотекой можно пользоваться.
Установив библиотеку, напишем новый скетч.
Результат его работы тот же в мониторе последовательного порта выводится дистанция до объекта в сантиметрах.
Если в скетче написать float dist_cm = ultrasonic.Ranging(INC); дистанция будет отображаться в дюймах.
5 Выводы по работе с сонаром HC-SR04
Итак, мы с вами подключили к Arduino ультразвуковой дальномер HC-SR04 и получили с него данные двумя разными способами: с использованием специальной библиотеки и без.
Преимущество использования библиотеки в том, что количество кода значительно сокращается и улучшается читаемость программы, вам не приходится вникать в тонкости работы устройства и вы сразу же можете его использовать. Но в этом же кроется и недостаток: вы хуже понимаете, как работает устройство и какие в нём происходят процессы. В любом случае, каким способом пользоваться решать только вам.
Источник: