В этом уроке мы научимся подключать ультразвуковой датчик HC-SR04 к ESP32 с помощью ESP-IDF. Сначала мы познакомим вас с ультразвуковым датчиком, затем подключим его к нашей плате разработки и запрограммируем для бесконтактного измерения расстояния с помощью ESP-IDF. Для демонстрации мы сначала измерим показания расстояния и выведем их на консоль ESP-IDF. Затем мы подключим OLED-дисплей SSD1306 к плате ESP32, чтобы также отображать результаты измерений расстояния на OLED-экране.

Дополнительно на нашем сайте вы можете узнать как подключить ультразвуковой датчик HC-SR04 к ESP32 с помощью Arduino IDE.
Также на нашем сайте мы рассматривали подключение ультразвукового датчика HC-SR04 к другим микроконтроллерам (платам):
- к микроконтроллеру AVR;
- к микроконтроллеру PIC;
- к плате Arduino;
- к плате Raspberry Pi;
- к плате Raspberry Pi Pico;
- к модулю ESP8266;
- к плате STM32 Blue Pill.
Ультразвуковой датчик HC-SR04
Ультразвуковой датчик HC-SR04 используется для измерения расстояния до объекта с помощью сонара. Он способен измерять расстояние от 2 до 400 см с высокой точностью 0,3 см. Этот датчик состоит из передающего и приемного модулей. Передающий модуль отвечает за преобразование электрического сигнала в импульсный набор из 8 сонарных волн частотой 40 кГц. В то время как схема ультразвукового приемника принимает ультразвуковые волны, генерируемые передающей схемой.
На рисунке ниже показан ультразвуковой датчик HC-SR04. Вы можете увидеть схему расположения контактов датчика.
Микросхема HC-SR04 имеет 4 контакта, включая два контакта питания (VCC и GND) и два контакта ввода-вывода (триггер и эхо-импульс).
| VCC | На выводе VCC подается питание на ультразвуковой датчик. Подключите его к источнику напряжения 5 В. |
| Trigger | Входной контакт запуска отвечает за начало измерения расстояния. Для получения результатов измерения расстояния на этот контакт подается импульс длительностью 10 мкс, который является входным электрическим сигналом для схемы передатчика. |
| Echo Pulse | Вывод эхо-импульса — это выходной вывод импульса, генерирующий импульс. Ширина/время импульса определяется расстоянием между ультразвуковым датчиком и объектом перед датчиком HC-SR04. Когда датчик неактивен, состояние вывода эхо-импульса — низкий уровень. |
| GND | Это заземляющий контакт, используемый для обеспечения общего заземления. |
Как видите, распиновка датчика достаточно простая.
Принцип работы ультразвукового датчика
В этом разделе рассмотрим принцип работы ультразвукового датчика для измерения расстояния. Основной принцип, используемый этим датчиком при измерении расстояния, заключается в отражении неслышимых ультразвуковых волн с частотой 40 кГц. Эти волны, попадая на объект, отражаются обратно под углом падения на него. Когда ультразвуковой датчик расположен параллельно объекту, ультразвуковые волны отражаются под углом 180 градусов. Для измерения расстояния до объекта необходимо убедиться, что он расположен точно параллельно ультразвуковому датчику. Расположение показано на рисунке ниже:

При измерении расстояния с помощью HC-SR04 цифровой выходной контакт ESP32 на триггерном выводе датчика генерирует импульс длительностью 10 мкс для запуска процесса. Схема передатчика генерирует восемь ультразвуковых сонарных импульсов, когда входной триггерный сигнал длительностью 10 мкс становится активным низким. Одновременно состояние вывода эхо-сигнала изменяется с логического низкого уровня на логический высокий уровень. Измерение времени начинается, когда состояние вывода эхо-сигнала переходит в высокое состояние. Когда приемный модуль принимает ультразвуковые волны, отраженные от объекта, состояние вывода эхо-сигнала переходит в низкое состояние. Плата разработки ESP32 обнаруживает это изменение состояния выходного сигнала эхо-сигнала с активного высокого уровня на активный низкий и останавливает измерение времени. Измеряя время включения выходного сигнала эхо-сигнала, мы можем измерить расстояние между объектом и датчиком.
На следующем рисунке показана последовательность входного сигнала запуска, внутреннего сигнала, состоящего из восьми ультразвуковых импульсов частотой 40 кГц, и выходного сигнала.

Время, необходимое для того, чтобы выходной сигнал эхосигнала оставался в высоком состоянии, зависит от расстояния между ультразвуковым датчиком и объектом, расположенным перед ним. Чем больше расстояние, тем дольше сонарные волны достигают приемного модуля ультразвукового датчика.
Подключение ультразвукового датчика HC-SR04 к ESP32
Для подключения платы ESP32 к ультразвуковому датчику нам понадобятся следующие компоненты;
- Плата ESP32.
- Датчик HC-SR04.
- Макетная плата.
- Соединительные провода.
Соединения между устройствами указаны в таблице ниже:
Статья в разработке
1 просмотров




