Skocz do zawartości

HC-SR04 niestabilny odczyt


xnolb

Pomocna odpowiedź

Witajcie,

Mam problem z tymi czujnikami, tzn. mam 3 sztuki więc to eliminuję uszkodzenie czujnika.

Mianowicie ustawione wszystko stabilnie i czujnik przy pomiarze odległości np. 10cm realnych pokazuje 9.8-10.3. Wartość zmienia się cały czas, program to proste echo, z delayem końcowym 200ms zeby było coś widać na wyświetlaczu. Te czujniki tak mają? Czy co?

Program w arduino:

#include <LiquidCrystal.h>
#define ECHOPINL 0      
#define TRIGPINL 1     
float odl;


LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup()
{
 lcd.begin(16, 2);
 pinMode(ECHOPINL, INPUT);
 pinMode(TRIGPINL, OUTPUT);  
}

void loop()
{
 // Start odczytu
 digitalWrite(TRIGPINL, LOW);
 digitalWrite(TRIGPINL, HIGH);
 delayMicroseconds(10);
 digitalWrite(TRIGPINL, LOW);    
 odl=pulseIn(ECHOPINL, HIGH);
 lcd.clear();
 lcd.print((odl/58),1);
 delay(200);  

}

Testuję go na płytce ZL3AVR więc wykluczam zakłócenia, testowane zarówno na zasilaczu jak i USB...

Link do komentarza
Share on other sites

...the ranging accuracy can reach to 3mm...

Cytat z pierwszego znalezionego pdf'a, czyli Twój przypadek jest zgodny z dokumentacją. Z doświadczenia wiem natomiast że w przypadku tego czujnika dość stabilne i poprawne pomiary można uzyskać przy pomiarze z dokładnością do jednego centymetra, nie nadaje się za bardzo do mierzenia odległości z dokładnością do pojedynczych milimetrów.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.