Эхо-вывод HC-SR04 не переходит в низкий уровень после триггерного импульса
Я реализовал датчик расстояния HC-SR04 с помощью Arduino. После включения датчик работает хорошо, когда объекты находятся в пределах досягаемости датчика. Однако, если измеряемое расстояние превышает максимальное (около 15 футов) расстояние, время ожидания датчика истекает (что я и ожидаю). Однако по истечении тайм-аута, когда расстояние между объектом и датчиком находится в пределах досягаемости, на выводе Echo не удается установить низкий уровень после генерирования триггерного импульса. Единственный способ исправить это состояние — выключить датчик и снова включить его. (Я проверил состояние вывода Echo с помощью осциллографа.)
@BitBanger46, 👍0
Обсуждение1 ответ
После многих часов исследований я обнаружил, что проблема связана с тем, что в HC-SR04, который является китайским клоном Devantech SRF04, есть (очевидно) известная ошибка. Я заменил HC-SR04 на SRF04, и проблема была решена. Теперь вывод ECHO всегда становится низким после срабатывания триггера и после тайм-аута (т. е. объект находится за пределами максимального расстояния измерения).
- Нет заголовочных файлов (.h) в Documents\Arduino\libraries\arduino_144469 с демонстрационным кодом
- Получение 0 см от ультразвукового датчика, когда ничего нет впереди
- Код для 2 ультразвуковых датчиков
- HC-SR04 измерение расстояния без задержки?
- Сдвиг уровня 5В <-> 3,3В
- Подключение нескольких ультразвуковых датчиков (hc-sr04) к одной плате arduino.(мега)
- Ультразвуковой датчик HC-SR04: Как проверить напряжение на выводе ECHO
- Как далеко может стоять HC-SR04 от микроконтроллера?
Можете ли вы опубликовать свой код? У меня может быть один пинающий вокруг, чтобы попробовать это с. Я проверил базовое руководство по подключению HC-SR04 (https://dronebotworkshop.com/hc-sr04-ultrasonic-distance-sensor-arduino/), и в нем не упоминался этот режим отказа. Меня интересует, не глючит ли датчик. Можете ли вы попробовать их код и посмотреть, получите ли вы тот же эффект?, @asylumax