Skocz do zawartości

Problem z czujnikiem odległości US-015


jakuba-93

Pomocna odpowiedź

Witam

Mam problem z ultradźwiękowym czujnikiem odległości(2-400cm). Wyświetla on zawsze wartości z przedziału od 8 do 9.

(Zmieniają się nawet gdy odległość pozostaje taka sama). Dodam że pracuję na Arduino Uno R3.

KOD:

#define TRIG 12
#define ECHO 11
void setup()
{
 pinMode(TRIG,OUTPUT);
 pinMode(ECHO,INPUT);
 Serial.begin(9600);
}
float pomiar()
{
 unsigned czas;
 digitalWrite(TRIG,HIGH);
 delayMicroseconds(10);
 digitalWrite(TRIG,LOW);
 czas=pulseIn(ECHO,HIGH);
 return czas/58.00;
}
void loop()
{
 Serial.println(pomiar());
 delay(800);
}
Link do komentarza
Share on other sites

Wydaje mi się, że problem jest, że dzielisz liczbę typu unsigned (czas) przez float (58.00).

i funkcja też powinna zawracać wartości typu float.

Może spróbuj zmienić funkcję na unsigned pomiar() i zadeklarować dzielnik by był tego samego typu (unsigned).

Może to głupie, ale jedyne co przychodzi mi w tej chwili do głowy.

Link do komentarza
Share on other sites

Po zmienieniu wszystkich zmiennych na int, i dodatkowo okrojenia przelicznika(na cm),dalej pokazuje wartości losowe oscylujące między 450 a 550, pomimo zmian odległości. Może to być wina czujnika (kupiłem go kilka dni temu)?😕

#define NADAJNIK 3
#define ODBIORNIK 4
void setup()
{
 pinMode(NADAJNIK,OUTPUT);
 pinMode(ODBIORNIK,INPUT);
 Serial.begin(115200);
 digitalWrite(NADAJNIK,LOW);
}
int CZUJNIK()
{
int czas=0;
delay(800);
digitalWrite(NADAJNIK,HIGH);   
delayMicroseconds(10);
digitalWrite(NADAJNIK,LOW);
czas=pulseIn(ODBIORNIK,HIGH);
return czas;
}
void loop()
{
 Serial.println(CZUJNIK());
}
Link do komentarza
Share on other sites

A dobrze podłączyłeś? Może podeślij zdjęcie.

Próbowałeś może skorzystać z tego przykładu: https://botland.com.pl/content/144-pomiar-odleglosci-z-wykorzystaniem-arduino-i-czujnika-hc-sr04-lub-us-015

Ten mój pierwszy post to był taki "strzał", bo miałem kiedyś podobny problem z przeliczaniem wartości, gdy jedna była typu int a druga typu float.

Przykład w linku jest bardzo podobny, więc może jednak podłączenie (może sprawdź na innych przewodach)?

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

Przekleiłem kod, zamieniłem piny i wyświetla tylko 7, czasem 8 centymetrów. Raczej nie jest to kwestia podlączenia(obwód jest prosty i sprawdzałem juz go kilka razy).

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.