Эхо-вывод HC-SR04 не переходит в низкий уровень после триггерного импульса

Я реализовал датчик расстояния HC-SR04 с помощью Arduino. После включения датчик работает хорошо, когда объекты находятся в пределах досягаемости датчика. Однако, если измеряемое расстояние превышает максимальное (около 15 футов) расстояние, время ожидания датчика истекает (что я и ожидаю). Однако по истечении тайм-аута, когда расстояние между объектом и датчиком находится в пределах досягаемости, на выводе Echo не удается установить низкий уровень после генерирования триггерного импульса. Единственный способ исправить это состояние — выключить датчик и снова включить его. (Я проверил состояние вывода Echo с помощью осциллографа.)

, 👍0

Обсуждение

Можете ли вы опубликовать свой код? У меня может быть один пинающий вокруг, чтобы попробовать это с. Я проверил базовое руководство по подключению HC-SR04 (https://dronebotworkshop.com/hc-sr04-ultrasonic-distance-sensor-arduino/), и в нем не упоминался этот режим отказа. Меня интересует, не глючит ли датчик. Можете ли вы попробовать их код и посмотреть, получите ли вы тот же эффект?, @asylumax


1 ответ


1

После многих часов исследований я обнаружил, что проблема связана с тем, что в HC-SR04, который является китайским клоном Devantech SRF04, есть (очевидно) известная ошибка. Я заменил HC-SR04 на SRF04, и проблема была решена. Теперь вывод ECHO всегда становится низким после срабатывания триггера и после тайм-аута (т. е. объект находится за пределами максимального расстояния измерения).

,