Главная  /  On-line руководство  /  Подключение ультразвуковых датчиков движения

Подключение ультразвуковых датчиков движения HC-SR04, HC-SR04+, US-015, US-025A, US-026, JSN-SR04T (герметичный)


Содержание

Ультразвуковые датчики движения (расстояния)
Схема подключения
Подготовка модуля к работе
Конфигурация модуля
Заключение



Ультразвуковые датчики движения (расстояния)

Smacont. Ультразвуковые датчики расстояния

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

Работа ультразвуковых датчиков основана на принципе сонара – посылая пучок ультразвука, и получая его отражение с задержкой, устройство определяет наличие объектов и расстояние до них. Ультразвуковые сигналы, генерируемые передатчиком, отражаясь от препятствия, возвращаются к нему через определенный промежуток времени. Данный временной интервал является характеристикой, помогающей определить расстояние до объекта.

Для того чтобы инициализировать отправку сигнала дальномером, необходимо подать высокий сигнал длительностью 10 μs на вывод «Trig». После получения высокого сигнала длительностью 10 μs на вывод «Trig», модуль генерирует пучок из восьми сигналов частотой 40 кГц и устанавливает высокий уровень на пине «Echo». После получения отраженного сигнала, модуль устанавливает на выводе «Echo» низкий уровень.


Smacont. Ультразвуковые датчики расстояния

Ультразвуковые датчики расстояния

Зная продолжительность высокого сигнала на пине Echo можем вычислить расстояние, умножив время, которое потратил звуковой импульс, прежде чем вернулся к модулю, на скорость распространения звука в воздухе (340 м/с).

Описание ультразвуковых датчиков (datasheet):
HC-SR04;



Схема подключения

В качестве используется сенсор HC-SR04.


Smacont. Подключение ультразвукового датчика расстояния

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

WiFi-модуль и сенсор HC-SR04 установлены на макетной плате для проектирования (Breadboard), позволяющей собирать проекты без пайки.

Резисторы R1 и R2 необходимы для согласования логических уровней сенсора HC-SR04 и WiFi-модуля.

В качестве внешнего источника используется адаптер питания для зарядки сотовых телефонов, смартфонов, планшетов, с выходным током не менее 500мА. Для автономного питания контроллера можно использовать портативные аккумуляторы (Power Bank) емкостью от 2000мА*ч и выше. В качестве соединительного кабеля между макетной платой (Breadboard) и адаптером используется кабель для зарядки сотовых телефонов.



Подготовка модуля к работе

Подготовка модуля к работе заключается в выполнении следующих шагов.

Шаг 1. Программирование модуля

Программирование модуля (запись программы (прошивки) «Smacont-ESP») осуществляется в соответствии с инструкцией «Программирование модулей ESP и отладочных плат».

Шаг 2. Настройка сетевого соединения с модулем

Выполнить настройку сетевого соединения с модулем в соответствии с инструкцией «Первое включение».

Шаг 3. Настройка WiFi-сети (при необходимости)

При необходимости выполнить настройку WiFi-сети в соответствии с инструкцией «Настройки WiFi-сети».



Конфигурация модуля

GPIO

Для формирования управляющего сигнала, подаваемого на вывод «Trig» сенсора HC-SR04, используется «GPIO5» («D1»), настроенный как выход («OUTPUT»).

Для обеспечения возможности управления данным выходом, необходимо привязать «GPIO5» («D1») к одному из «Vx», например, к «V10».


Smacont. Конфигурирование «GPIO»     Smacont. Конфигурирование «GPIO»     Smacont. Конфигурирование «GPIO»

Конфигурирование «GPIO»

Для подсчета длительности импульса с вывода «Echo» сенсора HC-SR04, используется «GPIO4» («D2»), настроенный как «Измерение длительности импульса».

Для обеспечения возможности дальнейшей обработки значений измерения, необходимо привязать «GPIO4» («D2») к одному из «Vx», например, к «V11».


Smacont. Конфигурирование «GPIO»     Smacont. Конфигурирование «GPIO»     Smacont. Конфигурирование «GPIO»

Конфигурирование «GPIO»

Назначим имена переменным «V10» («ultrasonicTrig») и «V10» («ultrasonicEcho»).


Smacont. Конфигурирование «GPIO»     Smacont. Конфигурирование «GPIO»

Конфигурирование «GPIO»

TIMER

Для периодического опроса ультразвукового датчика будем использовать «TMR0».

На вкладке «TIMER» необходимо произвести конфигурирование таймера «TMR0»:
• включить таймер (установить «галочку» у параметра «Управление»);
• параметр «При подаче напр. пит.» установить в состояние «ВКЛ.».

Для обеспечения возможности дальнейшей обработки события от таймера, необходимо привязать параметр «Состояние» таймера «TMR0» к одному из «Vx», например, к «V12».

Присвоим имя переменной «V12» («ultrasonicTrig_Start»).


Smacont. Конфигурирование «TIMER»     Smacont. Конфигурирование «TIMER»

Конфигурирование «TIMER»

Действия и сценарии

Создаем два действия.
1. формирование управляющего импульса на вход «Trig» сенсора HC-SR04;
2. вызов функции «sens_ultrasonic()», для пересчета в сантиметры длительности сигнала с выхода «Echo» сенсора HC-SR04.


Smacont. Действие формирования управляющего импульса на вход «Trig» сенсора HC-SR04     Smacont. Действие формирования управляющего импульса на вход «Trig» сенсора HC-SR04     Smacont. Действие формирования управляющего импульса на вход «Trig» сенсора HC-SR04

Действие формирования управляющего импульса на вход «Trig» сенсора HC-SR04


Smacont. Действие вызова функции «sens_ultrasonic()»     Smacont. Действие вызова функции «sens_ultrasonic()»     Smacont. Действие вызова функции «sens_ultrasonic()»

Действие вызова функции «sens_ultrasonic()»

На вкладке «Сценарии (Задачи)» создаем сценарий (задачу, триггер) «Сценарий N0», который будет вызываться по событию обновления переменной «ultrasonicTrig_Start» («V12»).

В качестве действия выберем «Действие N0», по которому будет формироваться импульс на «GPIO5» («D1»).


Smacont. Сценарии     Smacont. Сценарии     Smacont. Сценарии

Создаем еще один сценарий «Сценарий N1», который использует событие обновления переменной «ultrasonicEcho» («V10»).

В качестве действия выберем «Действие N1», по которому происходит пересчет длительности сигнала («ultrasonicEcho») в сантиметры.


Smacont. Сценарии     Smacont. Сценарии     Smacont. Сценарии

Получаем следующий алгоритм работы:
1. при событии «Обновление статуса TMR0» (формируется каждую секунду), будет выполняться сценарий «Сценарий N0», т.е. вызывается «Действие N0» (формируется короткий импульс на вход «Trig» сенсора HC-SR04);
2. при событии «Обновление значения «ultrasonicEcho» («V10»)» (формируется после окончания измерения длительности импульса выхода «Echo» сенсора HC-SR04), будет выполняться сценарий «Сценарий N1», т.е. вызывается «Действие N1» (перерасчет длительности в расстояние от сенсора HC-SR04 до объекта);
3. как следствие последовательного выполнения «Сценарий N0» и «Сценарий N1» получаем значение расстояния от сенсора HC-SR04 до объекта в перменной «V10».


Smacont. Сценарии

В дальнейшем, полученное значение расстояния от сенсора HC-SR04 до объекта, можно использовать в других сценариях, например, для реализации проекта включения освещения в коридоре.

Цифровая фильтрация значений расстояния

Чтобы исключить резкие выбросы в рассчитанных значениях и для получения плавной характеристики можно использовать цифровую фильтрацию значений расстояния.

Для цифровой фильтрации любой переменной используются первые 8-мь переменных: V0,V1,V2,V3,V4,V5,V6,V7.

В нашем случае, данные о расстоянии находятся в переменной «V10». Нам необходимо тлько задать уровень фильтрации: 2,4,8 (например, 4);


Smacont. Цифровая фильтрация значений расстояния

Результат работы цифрового фильтра можно наблюдать на рисунке ниже (сенсор HC-SR04 направлен в стену).


Smacont. Значение расстояния «до» и «после» цифрового фильтра

Значение расстояния «до» и «после» цифрового фильтра



Заключение

• Так как в основу принципа действия положен ультразвук, то такой датчик не подходит для определения расстояния до звукопоглощающих объектов.

• При перемешивании горячего и холодного воздуха, датчик может выдавать неверные результаты.

• При высоком уровне шума, датчик может выдавать неверные результаты.




Программы

Прошивка «Smacont-ESP»:
скачать

«Программа Настройки»:
запусить (только браузер Firefox)
скачать zip-архив

Телеграм канал

Новости

Энергонезависимая память (EEPROM)

Переменные «Vx» (карта переменных «Vx»)

WEB-интерфейс

Действие «wifi_CheckConn()». После подключения к WiFi-сети, выполнить действие с задержкой

Обмен данными. Open Monitoring

Датчики температуры и влажности AHT10/AHT15/AHT20/AHT21/AHT25

Датчик температуры и влажности SHT30 (SHT31/SHT35)

Действие «valueToVx()», «valueToArrVx()». Отслеживание заданного уровня в диапазоне значений

Действие «termostat()». Термостат

ESP-NOW. Датчик температуры и влажности с питанием от батареек

Последовательные интерфейсы (UART, I2C, SPI)

Управление одноканальным модулем реле

Протокол MQTT

Обмен данными. NarodMon

Обмен данными. ioControl



Программы для модулей ESP     Программы     Применения     Справочник         Контакты     SMACONT. Напишите нам smacont@ya.ru