Skocz do zawartości

Problem przy odczycie odległości za pomocą HC-SR04.


Danielos01

Pomocna odpowiedź

Witam zakupiłem czujnik odległości jak w temacie. Przy podłączeniu go i próbie odczytu odległości w monitorze zaczęło wyskakiwać coś takiego:

0 cm

0 cm

0 cm

139 cm

139 cm

0 cm

0 cm

0 cm

193 cm

0 cm

0 cm

Dodam że czujnik był cały czas w tej samej odległości od ściany. Po resecie zaczął pokazywać:

-2147483648 cm

-2147483648 cm

-2147483648 cm

-2147483648 cm

-2147483648 cm

-2147483648 cm

-2147483648 cm

2147483648 cm

-2147483648 cm

-2147483648 cm

-2147483648 cm

Kod :

int trigPin = 13;

int echoPin = 12;

void setup() {

Serial.begin (9600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

void odleglosc() {

long duration, distance;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance = (duration/2) / 29.1;

Serial.print(distance);

Serial.println(" cm");

delay(20);

}

[ Dodano: 16-11-2016, 18:17 ]

Wgrałem jeszcze raz program ale bez podłączone czujnika :

0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

0 cm…á0 cm

0 cm

0 cm

0ţcm

°ţ0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

0 ě0 cm

0 cm

0 cm

0 cm

0 cm†á0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

10010101111000110000100 cm

�ţcm

0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

0 ±Ű0 cm

0 cm

0 cm

0 cm

0 cm

0 cm

10100101 cm

__________

Komentarz dodany przez: Treker

Kody programów należy umieszczać przez narzędzie KOD (znajdziesz je w edytorze pod ikonką "<>"). Dzięki niemu składania programów jest automatycznie kolorowana, a wtedy wszystkim znacznie łatwiej analizować wklejone programy. Proszę to poprawić - z góry dziękuję za zrozumienie i pomoc przy utrzymaniu porządku na forum.

Link do komentarza
Share on other sites

Program pisany z wykorzystaniem Arduino składa się z dwóch głównych funkcji: setup i loop. Tej drugiej nie widzę w Twoim programie. Może wstawisz faktyczną wersję programu który kompilujesz?

Link do komentarza
Share on other sites

Witam.

U mnie na Arduino Uno program działa poprawnie (oczywiście po zmianie odleglosc() na loop()). Śmieci w monitorze szeregowym mogą wskazywać na jakieś problmy w komunikacji. Jaką masz płytkę i ustawienia prędkości transmisji w monitorze szeregowym? nie pomyliłeś trig i echo? Napięcia są OK? Coś jeszcze podłączasz poza odległościomierzem?

Pozdrawiam

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Witam.

Ja również mam problem ze swoim czujnikiem odległości.

składnia programu jest mniej więcej taka sama jak u kolegi wyżej, jednak czujnik będąc zamontowany w poziomie (generator i odbiornik sygnału są skierowane do ziemi - działa jako czujnik wysokości) pokazuje liczby z zakresu 3299-3200, a czujnik wisi jakoś 130-150cm nad ziemią.

Może to być spowodowane uszkodzeniem samego czujnika?

Link do komentarza
Share on other sites

Już po problemie.

Czujnik ma działać jako miernik odległości sterujący podwoziem i oświetleniem lądowania w szybowcu, więc był testowany w poziomie. Okazało się, że wszelkie grube materiały, jak np. dywany i obicia mebli nad którymi był zawieszony model, bardzo rozpraszają sygnał przez co czujnik wariował.

Po ustawieniu modelu w pionie (czujnik prostopadle do betonowej ściany) wszystko działa idealnie.

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.