Мой ультразвуковой датчик показывает диапазон только 4 см?
Я использую ультразвуковой датчик SR04 с Arduino Uno и пример программы, которую я взял из библиотеки. Однако мое выходное показание составляет всего 4 см, даже если перед ним нет объекта. Я даже использовал другой пример программы, который выдавал тот же результат. Проблема в датчике или библиотеке?
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(115200);
}
void loop() {
delay(50);
Serial.print("Ping: ");
Serial.print(sonar.ping_cm());
Serial.println("cm");
}
2 ответа
Лучший ответ:
Если вам нужна надежность, я рекомендую перейти на датчик HY-SRF05. Проблема SR04 в том, что когда перед датчиком ничего нет (или цель находится за пределом), датчик иногда «блокируется», и приходится его сбрасывать, чтобы он снова заработал корректно. SR04 на несколько центов дешевле остальных; для этого есть причина.
Кроме того, для этих датчиков доступно несколько библиотек. Я рекомендую библиотеку NewPing Тима Экеля, доступную здесь: https://bitbucket.org/teckel12/arduino- new-ping/wiki/Главная
Я никак не связан с Тимом, но у него хорошая библиотека.
- Датчик освещенности BH1750 всегда дает выходной сигнал 54612 лк
- Ошибка повторного объявления библиотеки Arduino
- Тензодатчик Arduino HX711 сильно дрейфует
- Попытка прочитать разные уровни газа с помощью датчика газа MQ2
- Почему вывод отправки влияет на вывод приема с помощью библиотеки емкостных датчиков Arduino
- Соответствие шаблону вибрации
- Какова работа pulseIn?
- Сколько датчиков может поддерживать один модуль Arduino?