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

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.