Zaloguje się
or
Tel +48 698 615 740

Czujnik odległości HC-SR04

24 października, 2021

W tym artykule omówimy czujnik odległości HC-SR04, zostanie przedstawione połączenie do arduino, oraz wykorzystamy go w praktyce i będziemy robić pomiar na jakim dystansie znajduje się przeszkoda.

Spis treści

  • Opis czujnika
  • Specyfikacja
  • Podłączenie czujnika do arduino
  • Zaprogramowanie arduino

Opis czujnika

Czujnik ultradźwiękowy działający w zakresie 2-200 cm. Zasilany napięciem 5 V. Wyjściem jest sygnał, którego czas trwania jest proporcjonalny do mierzonej odległości. Kompatybilny z Arduino czujnik odległości – czujnik ultradźwiękowy HC-SR04.

Specyfikacja

Napięcie zasilania: 5 V

Średni pobór prądu: 15 mA

Zakres pomiarowy: od 2 cm do 200 cm

Wyjście: sygnał częstotliwościowy

Częstotliwość pracy: 40 kHz

Wymiary: 45 x 20 x 15 mm

Kompatybilny z Raspberry Pi i Arduino czujnik ultradźwiękowy odległości

Podłączenie czujnika do arduino

Zaczniemy od podłączenia czujnika, będzie ono dosyć proste, wystarczy spojrzeć na oznaczenia nad pinami i następująco podpiąc je do arduino. Pin GND z czujnika idzie do GDN na arduino, a VCC do 5V, TRIG posłuży nam do wysyłania sygnału oraz ECHO do jego odbierania. TRIG podpinamy do pinu 8 na arduino, a ECHO do pinu 7. Schemat połączenia znajduje się poniżej.

Zaprogramowanie arduino

Zaczniemy od funkcji setup gdzie ustawimy piny na wejście oraz wyjście, zaczniemy transmisję do portu szeregowego, lecz na początku zdefinujemy piny ECHO oraz TRIG.

#define echo 8//zdefiniowanie pinu 8 jako echo
#define trig 7//zdefiniowanie pinu 7 jako trig

void setup() {
  Serial.begin(9600);
  pinMode(echo, INPUT);//ustawienie wejscia dla echo
  pinMode(trig, OUTPUT);//ustawienie wyjscia dla trig
}

Zdefiniujemy teraz dwie zmienne które posłużą nam do przechowania czasu powrotu sygnału odczytanego z czujnika, oraz obliczonego juz dystansu w centymetrach. Następnie ustawiamy stan niski, wysoki, niski, na pinie trig, aby czujnik wysłał sygnał, zapisujemy do zmiennej w jakim czasie został odebrany i wyświetlamy go w monitorze portów szeregowych.

void loop() {
  long czas, dystans;//zdefiniowanie zmiennej czas i dystans
 
  digitalWrite(trig, LOW);//ustawienie stanu niskiego na pinie trig
  delayMicroseconds(2);//opóźnij o 2 mikrosekundy
  digitalWrite(trig, HIGH);//ustawienie stanu wysokiego na pinie trig
  delayMicroseconds(10);//opóźnij o 10 mikrosekund
  digitalWrite(trig, LOW);//ustawienie stanu niskiego na pinie trig
 
  czas = pulseIn(echo, HIGH);//zapisz czas w jakim sygnał wrócił do zmiennej
  dystans = czas / 58;//korzystamy ze wzoru który przedstawił producent i otrzymujemy odległość w cm
 
  Serial.println(dystans);//wyświetlenie zwróconego dystansu w monitorze portu szeregowego

  delay(500);
}

Wgrywamy program do arduino i otwieramy monitor portów szeregowych, powinniśmy ujrzeć wartość zwracaną w centymetrach w zależności od tego na jakim dystansie jest przeszkoda np. ściana.

Sticky
Możliwość komentowania Czujnik odległości HC-SR04 została wyłączona
Adrian Wojtala

Adrian Wojtala

Ma 21 lat. Studiuje informatykę na Uniwersytecie DSW, ukończył technikum o profilu technik-informatyk. Interesuje się programowaniem i w przyszłości ma plan zostać back-end developerem. Swoją przygodę z Arduino rozpoczął podczas praktyk od września 2021 r.

Comments are closed.

Strona korzysta z plików cookies w celu realizacji usługi i zgodnie z Polityką Plików Cookies. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.