Водонепроницаемый ультразвуковой датчик sro4m-2

arduino-uno sensors ultrasonics

Я купил этот водонепроницаемый ультразвуковой датчик около 5 из них с номером детали SR04M-2, написанным на печатной плате silkscreen, который отличается от обычного SR04t-0.2, они просто не работают, я не знаю, использует ли он другой протокол связи или он неисправен, потому что выход из датчика вообще не выходит. если кто - то там когда-либо сталкивался с этим типом и смог обойти его, это должно помочь

, 👍2

Обсуждение

сравните технические характеристики этих двух устройств ... какая часть вашего вопроса связана с Arduino?, @jsotola

Я использую arduino для связи с датчиком и он не работает, @Jephtah Jephtah

в вашем посте нет никакой информации об arduino ... на самом деле никто не задает никаких вопросов ... пожалуйста, добавьте соответствующую информацию, такую как схема датчика, схема подключения, скетч arduino, описание ожидаемого поведения и наблюдаемого поведения, а также вопрос, на который вы хотите получить ответ, @jsotola

У меня была точно такая же проблема. Осциллограф показал, что выход возвращается через 500 мкс после digitalWrite(trigPin, HIGH), поэтому изменение задержки между trigger и pulseIn с 10 мкс до 500 мкс - delayMicroseconds(500) решило для меня проблему., @Max


2 ответа


3

Я нашел этот код для SRF05, и он также работает для SRO4M-2. удачи!

const unsigned int TRIG_PIN=13; //RX
const unsigned int ECHO_PIN=12;  TX
const unsigned int BAUD_RATE=9600;

void setup() {
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  Serial.begin(BAUD_RATE);
}

void loop() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);  

  const unsigned long duration= pulseIn(ECHO_PIN, HIGH);
  int distance= duration/29/2;
  if(duration==0){
    Serial.println("Warning: no pulse from sensor");
  } else {
    Serial.print("distance to nearest object:");
    Serial.println(distance);
    Serial.println(" cm");
  }
  delay(100);
}
,

2

RX = тригонометрия и TX = Эхо это противоречит интуиции, но это работает. Производитель не потрудился указать тригонометрию и эхо на печатной плате. Я обнаружил это по ссылке : https://bitbucket.org/teckel12/arduino-new-ping/issues/40/aj-sr04m-board. Когда я переключаю RX и TX, как указано на фотографиях, это сработало

,