HC-sr04: http://alii.pub/6eduvj
Esp32: http://alii.pub/6c9kzh
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Модуль HC-sr04 – это ультразвуковой дальномер.
Характеристики
- Входное напряжение: 5 В или 3,3В
- Потребляемый ток в режиме ожидания: до 2 мА
- Потребляемый ток в режиме измерений: до 15 мА
- Частота ультразвука: 40 кГц
- Измеряемая дальность: 3 … 400 см
- Точность измерения: от 0,3 см
- Угол измерения: до 15°
- Рабочая температура: -30 … 80 °С
- Габариты: 45x20x15 мм
В характеристиках описано, что модуль может измерять расстояние до 4 метров. Но я измерял им расстояние и в 7 метров. По этому у меня сложилось впечатление, что он может измерять расстояние в 10 метров. Но могу ошибаться ( давно это было).
Этот модуль обычно используют в робототехнике. Например робот пылесос использует его для того, чтоб понимать где находится препятствие.
Но этот модуль так-же можно использовать и в умном доме.
Например можно использовать его в качестве датчика приближения объекта. Можно его повесить в гараже и всегда знать, когда машина находится в нем.
Или например использовать приближение ладони и регулировать таким образом освещение.
Ды применений на самом деле масса, все ограничивается фантазией.
В этой статье я покажу как его добавить в ESPHome и в Home Assitant.
Код очень простой и состоит из 5 строчек кода:
sensor:
- platform: ultrasonic
trigger_pin: 2
echo_pin: 15
name: "Ultrasonic Sensor"
update_interval: 5s
Тут объявляются 2 пина датчика HC-st04. Это Trigger пин и echo. По сути пинами могут выступать любые цифровые пины микроконтроллера.
Ну и еще довольно важный параметр это update_interval. Он стоит 5 секунд. Это означает, что датчик будет проводить измерения раз в 5 секунд. Тут смотрите сами, подбирайте под себя интервал. По умолчанию интервал 60 секунд, если этот параметр убрать.
Ну и по итогу, при добавлении в Home Assistant датчика, выглядит он следующим образом:
Как видно из графика, много пустых измерений. Это значит что расстояние было слишком велико и датчик просто не смог уловить расстояние.
Так-же если посмотреть на первую ступеньку графика, то видно, что она длинная интервал больше 30 секунд. Это потому-что параметр update_interval небыл выставлен. А в конце графика “ступенька” уже размером в 5 секунд, так как поправил интервал измерений.