Ультразвуковой датчик HC-SR04
В этом руководстве мы научимся использовать ультразвуковой датчик HC-SR04 с ESP32. Ультразвуковые датчики измеряют расстояние, испуская ультразвуковые волны и вычисляя время, за которое они возвращаются после отражения от объекта.
Такие датчики часто встречаются в системах помощи при парковке: когда вы сдаёте назад, датчик измеряет расстояние до предметов и предупреждает, когда вы подъезжаете слишком близко.
Мы создадим простой проект, который постепенно увеличивает яркость светодиода с помощью ШИМ, когда ультразвуковой датчик обнаруживает объект на расстоянии меньше 30 см. Это значение можно изменить под свои задачи.
Предварительные требования
Перед началом познакомьтесь с этими темами:
🛠 Аппаратные требования
Чтобы выполнить этот проект, вам понадобятся:
- Ультразвуковой датчик HC-SR04 (или HC-SR04+)
- Макетная плата
- Провода-перемычки
- Внешний светодиод (можно использовать и встроенный светодиод, тогда подключите GPIO 2)
Характеристики HC-SR04
Ультразвуковой датчик HC-SR04 может измерять расстояния от 2 до 400 см с точностью до 3 мм. Для работы ему нужно питание 5 В.
Допустимое напряжение ESP32
В следующей главе мы подробно разберём, как работает датчик, а пока базовая идея такая: датчик отправляет сигнал и ждёт, когда тот вернётся. При питании 5 В вывод Echo датчика выдаёт сигнал 5 В обратно подключённому устройству. Но тут есть проблема: выводы GPIO ESP32 выдерживают не более 3,6 В. Всё, что выше, может повредить микроконтроллер.
Как решить проблему? Есть несколько вариантов:
- Самый простой — взять HC-SR04+, улучшенную версию, которая работает и с 3,3 В, и с 5 В. Тогда модуль можно питать от 3,3 В.
- Другой вариант — использовать делитель напряжения (всего пара резисторов) между выводом Echo и ESP32, чтобы понизить напряжение до 3,3 В.
- Последний вариант — питать HC-SR04 от 3,3 В. Это может работать, но не гарантирует надёжности. Избегайте этого варианта, если это не крайняя мера и вы готовы к возможным побочным эффектам.