Кратко о HC-SR04
HC-SR04 — ультразвуковой модуль для бесконтактного измерения расстояния в диапазоне от 2 см до 4 м. Он подходит для робототехники, сигнализации о приближении, учебных дальномеров и автоматизации, где достаточно оценивать расстояние до объекта в воздухе.
Ключевые характеристики
- Тип
- ультразвуковой датчик расстояния
- Питание
- 5 В DC [1]
- Рабочий ток
- до 15 мА
- Диапазон измерения
- от 2 см до 4 м
- Заявленная точность
- до 3 мм при благоприятных условиях
- Частота ультразвука
- 40 кГц
- Угол измерения
- до 15°
- Сигналы управления
- Trig и Echo, TTL-импульсы
- Размеры модуля
- 45,3 × 20,4 × 15 мм
Подробное описание и особенности
Принцип измерения
HC-SR04 запускает серию ультразвуковых импульсов частотой 40 кГц и формирует на выходе Echo импульс, длительность которого соответствует времени прохождения звука до объекта и обратно. Микроконтроллер измеряет это время и делит пройденный путь пополам, чтобы определить расстояние.
Для запуска измерения на Trig подают импульс высокого уровня длительностью не менее 10 мкс. Между последовательными запусками следует выдерживать более 60 мс, чтобы предыдущее отражение не влияло на следующий результат.[1]
Что влияет на результат
Лучше всего ультразвук отражают достаточно большие твёрдые поверхности, расположенные приблизительно перпендикулярно оси датчика. Маленький, наклонный, неровный или звукопоглощающий объект может дать слабое или нестабильное отражение, особенно вблизи максимальной дальности.
Значение до 3 мм следует воспринимать как заявленную точность модуля при благоприятных условиях, а не как гарантированную погрешность готового устройства во всём диапазоне. На результат влияют геометрия цели, температура воздуха, монтаж и алгоритм обработки.
Подойдёт / не подойдёт
Подойдёт
- для обнаружения препятствий в учебных роботах и подвижных платформах;
- для дальномеров и индикаторов приближения на микроконтроллере;
- для бесконтактного управления по порогу расстояния;
- для проектов с 5-вольтовыми Arduino-совместимыми контроллерами.
Не подойдёт
- для измерения расстояния менее 2 см;
- для прямого подключения Echo ко входу, который не допускает 5-вольтовых логических сигналов;
- для точного промышленного позиционирования без калибровки и проверки в реальных условиях;
- для стабильного обнаружения очень маленьких, мягких, наклонных или звукопоглощающих объектов;
- для работы под водой или без защиты от влаги.
Примеры применения
Робот с обнаружением препятствий
Контроллер периодически измеряет расстояние впереди и останавливает платформу или меняет направление, когда объект приближается к заданному порогу.
Настольный дальномер
Результат можно выводить в монитор последовательного порта или на дисплей. Для стабильного отображения полезно отбрасывать ошибочные значения и усреднять несколько измерений.
Сигнализация о приближении
HC-SR04 может передавать контроллеру расстояние до руки или другого объекта, а контроллер — включать световой или звуковой сигнал через соответствующий драйвер.
Подключение
Отключите питание
Сверьте обозначения VCC, Trig, Echo и GND непосредственно на модуле. Не переставляйте контакты по схеме похожего датчика.
Подключите питание
Соедините VCC с 5 В, а GND — с общей землёй контроллера. Не питайте модуль от GPIO.
Подключите сигналы
Trig подключите к цифровому выходу, Echo — к цифровому входу. Для 3,3-вольтового контроллера перед подключением Echo используйте надлежащее согласование логического уровня.
Проверьте программу
Сформируйте на Trig импульс длительностью не менее 10 мкс, измерьте длительность Echo и обрабатывайте отсутствие отражения как отдельное состояние. Не опрашивайте модуль чаще одного раза приблизительно в 60 мс.
Для прототипа с 5-вольтовой логикой можно использовать Nano V3.0 на ATmega328P. Вспомогательные соединения удобно собрать на беспаечной макетной плате на 170 отверстий.
Ограничения и безопасность
Питание только 5 В
Подавайте на VCC стабилизированные 5 В с правильной полярностью. Не подавайте на модуль более высокое напряжение и не меняйте местами VCC и GND.
Защитите 3,3-вольтовый GPIO
Перед подключением Echo к ESP32, ESP8266, Raspberry Pi Pico или другому 3,3-вольтовому контроллеру проверьте допустимый уровень его входа и примените согласование уровней. Прямое подключение без такой проверки может повредить GPIO.
Не рассчитывайте на результат вне диапазона
Расстояние менее 2 см или слабое отражение может привести к некорректному значению или отсутствию Echo. Программа должна иметь тайм-аут и не трактовать ошибку как достоверное нулевое расстояние.
Проверяйте работу в реальных условиях
Монтаж возле стенок корпуса, несколько ультразвуковых датчиков рядом, наклонная цель или изменение температуры могут влиять на показания. Перед постоянным использованием проверьте систему с реальными объектами и расстояниями.
FAQ
Работает ли HC-SR04 от 3,3 В?
Для этого модуля используйте питание 5 В. Питание от 3,3 В не заявлено.
Можно ли подключить HC-SR04 к ESP32?
Да, если модуль питается от 5 В, земли объединены, а сигнал Echo согласован с допустимым уровнем входа ESP32. Не подключайте Echo напрямую без проверки.
Почему датчик не видит объект?
Проверьте питание, общую землю, порядок контактов и программный тайм-аут. Маленький, мягкий, наклонный или расположенный вне рабочего диапазона объект может не дать достаточного отражения.
Гарантирует ли модуль точность 3 мм на расстоянии 4 м?
Нет. Значение до 3 мм является заявленным параметром при благоприятных условиях; фактический результат зависит от цели, температуры, монтажа и обработки сигнала.
Документы и источники
- ELECFREAKS, Ultrasonic Ranging Module HC-SR04 Datasheet — питание 5 В, принцип работы, диапазон, временные сигналы и рекомендуемый интервал между измерениями.