Мой ультразвуковой датчик показывает диапазон только 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/Главная
Я никак не связан с Тимом, но у него хорошая библиотека.
Похоже, что вы питаете SR04 напряжением 3,3 В вместо 5 В.
Я подключил его к 5В, @Sultan Morbiwala
- Датчик освещенности BH1750 всегда дает выходной сигнал 54612 лк
- Ошибка повторного объявления библиотеки Arduino
- Тензодатчик Arduino HX711 сильно дрейфует
- Попытка прочитать разные уровни газа с помощью датчика газа MQ2
- Почему вывод отправки влияет на вывод приема с помощью библиотеки емкостных датчиков Arduino
- Соответствие шаблону вибрации
- Библиотека клавиатуры не работает или я где-то ошибаюсь
- Какова работа pulseIn?
извините, это ультразвуковой датчик SR04, @Sultan Morbiwala
Да, я поменял контакты на 11 и 12. Это работает лучше, чем раньше, но все равно показывает показания на расстоянии около 4 см. Что-то доходит до 100см. Это не точно, это нормально или у меня неисправен датчик?, @Sultan Morbiwala