geebv
@geebv

Почему JSN-SR04T не работает дальше 60см?

Месяцок назад приобрел все необхдоимо для теста JSN-SR04T. Все работало корректно. 1.5 метра показывало. Даже 2 метра показывало.
Сегодня открыл IDE, какие то обновления были - обновлися. Не придал значения.
Запустил программу, а она не показыает значения дальше 55см.
Код программы
#include <NewPing.h>
#define TRIGGER_PIN  11
#define ECHO_PIN     12
#define MAX_DISTANCE 200 

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
  pinMode(12, INPUT);
  pinMode(11, OUTPUT);
  Serial.begin(115200);
}

void loop() {
  delay(1000);     
  int cm = sonar.ping_cm();
  Serial.print("Ping: ");
  Serial.print(cm);
  Serial.println("cm");
}


Выдает рандом на растоянии больше 60см
Ping: 58cm
Ping: 65cm
Ping: 65cm
Ping: 66cm
Ping: 62cm
Ping: 68cm
Ping: 65cm
Ping: 59cm
Ping: 67cm
Ping: 64cm


В диапазоне от 20 до 55 см значение выдается стабильное - не прыгающее.
Что произошло? Железо поломалось? Что то с программой не то или могли библиотеки обновиться так что такой эффект получился?
Буду благодарен любым мыслям. Спасибо.

UPD

Вру, месяц назад растояние мерял вот такой функцией
long request_dist(int echo, int trigger) {
  digitalWrite(trigger, LOW);
  delayMicroseconds(2);
  digitalWrite(trigger, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigger, LOW);
  long duration = pulseIn(echo, HIGH);
  long distance_cm = duration /58;
  return distance_cm;
}
  • Вопрос задан
  • 2782 просмотра
Решения вопроса 2
geebv
@geebv Автор вопроса
Проблемы в питании, а точнее из за подключения автономного питания + USB в ардуино.
Если питать JSN-SR04T от ардуино - порядок
Если автономное питание для JSN-SR04T и ардуино + USB (что бы логи смотреть) то не корректно работает
Ответ написан
Комментировать
gashopper
@gashopper
За Ваши деньги - хоть луноход.
Соедините землю ардуины и датчика.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ocelot
@Ocelot
Осциллограф в зубы - и смотреть, что происходит на выходе у датчика. Если все сигналы в норме, проблему нужно искать в программной части. Если сам датчик выдаёт что-то не то, значит он сломался.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы