Skocz do zawartości

Problem z ultradzwiękowym czujnikiem odległości.


Zygzak

Pomocna odpowiedź

Witam.

Mam problem z ultradźwiękowym czujnikiem odległości. Mianowicie podłączeniu go do podróby Arduino Uno (DFRduino Uno v3 ) i wgraniu programu:

int CM;        
long CZAS;     

void setup()
{
 Serial.begin(9600);                     
 pinMode(2, OUTPUT);                     
 pinMode(3, INPUT);                    

 Serial.println("Test czujnika odleglosci");
}

void loop()
{
 pomiar_odleglosci();              
 Serial.print("Odleglosc: ");      
 Serial.print(CM);
 Serial.println(" cm");
 delay(200);
}

void pomiar_odleglosci ()
{
 digitalWrite(2, HIGH);       
 delayMicroseconds(10);
 digitalWrite(2, LOW);
 CZAS = pulseIn(3, HIGH);
 CM = CZAS / 58;                
}

w monitorze portu szeregowego cały czas jest wyświetlana wartość zero.

Pod jakimś filmem na YouTube znalazłem komentarz że ktoś też ma z tym problem i robi to na tej samej podróbie. Ogólnie rzecz biorąc co jakiś czas pojawia mi się dużo błędów typu: stk500_getsync(): not in sync: resp=0x00 w Arduino (w tym przypadku program, żaden program, nie chciał mi się załadować, załadował się dopiero gdy odłączyłem czujnik odległości)

Czym może być spowodowane to że czujnik nie działa?

Link do komentarza
Share on other sites

Nie napisałeś o jaki czujnik chodzi, ale zgaduję że HC-SR04. Opis jego podłączenia znajdziesz w kursie Arduino: https://forbot.pl/blog/artykuly/programowanie/kurs-arduino-9-czujnik-odleglosci-hc-sr04-funkcje-id4290

Natomiast to dlaczego nie działa może wynikać z wielu powodów. Przykładowo dlatego, że wybrałeś piny 2 i 3, które w Arduino UNO są podłączone do konwertera USB. To przy okazji tłumaczyłoby problemy z wgrywaniem programu po podłączeniu czujnika.

Sorki - źle spojrzałem na schemat, to piny 2,3 procesora są połączone z przejściówką. Arduino ma inną numerację i powinno działać. Proponowałbym mimo wszystko sprawdzić o co chodzi i czy piny na pewno są wolne.

[ Dodano: 20-11-2015, 23:29 ]

Ciężko o jakąś dobrą dokumentację tego DFRduino, ale z tego co widać na zdjęciach to chyba dokładna kopia Arduino. Powinno więc działać bez problemu. Proponowałbym zacząć od programu z kursu i podłączenia jak tam opisane - program jest sprawdzony, więc będzie wiadomo, że błąd nie dotyczy programu.

Kolejny podejrzany to zasilanie - może DFRdunio ma inny stabilizator / filtrację. Możesz spróbować dodać do czujnika kondensatory przy liniach zasilania, np. 100nF + 100uF.

  • Pomogłeś! 1
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!

Gość
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.