Skocz do zawartości

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


Pomocna odpowiedź

Napisano

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?

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

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