[PROJEKT] HC-SR04 – ultradźwiękowy czujnik odległości i Arduino
HC-SR04 to ultradźwiękowy czujnik odległości. Za jego pomocą można mierzyć odległość pomiędzy czujnikiem i przeszkodą w zakresie od 2 do 200 cm. Uwaga: dane katalogowe podają różne zakresy mierzonych odległości (2…200 cm, 3…400 cm, 3…500 cm itp.). W trakcie wykonanych prób empirycznych okazało się, że faktycznie czujnikiem tym można dokonać pomiaru odległości nawet do 5 m, ale odczyt taki jest niestabilny, a uzyskany wynik mocno zależy od kształtu „przeszkody” i materiału, z jakiego jest ona wykonana. Tak więc dla uproszczenia warto przyjąć, że realna górna granica zakresu pomiarowego to 200 cm. Kąt „widzenia” czujnika to ±15?. Wraz ze wzrostem kąta znacznie zmniejsza się zasięg czujnika – rysunek 2.
Fot. 1. Widok czujnika HC-SR04
Rys. 2. Charakterystyka detekcji czujnika HC-SR04
Czujnik jest zasilany napięciem 5 V, więc z powodzeniem można go wykorzystywać w systemach cyfrowych zbudowanych w oparciu o Arduino. Pobór prądu przez czujnik w trakcie pomiaru to ok. 15 mA, natomiast w stanie spoczynku czujnik pobiera ok. 2 mA. Czujnik ma cztery wyprowadzenia (rysunek 3):
- VCC – +5 V;
- TRIG – wejście wyzwalające pomiar;
- ECHO – wyjście sygnału;
- GND – masa zasilania.
Rys. 3. Wyprowadzenia czujnika HC-SR04
Pomiar odległości jest rozpoczynany po podaniu na wejście TRIG impulsu trwającego minimum 10 µs – rysunek 4. Powoduje to wyemitowanie przez czujnik fali ultradźwiękowej (8 impulsów o częstotliwości 40 kHz), która po odbiciu się od przeszkody wraca do czujnika. Po wykryciu powracającej fali ultradźwiękowej czujnik wystawia na wyprowadzenie ECHO impuls, którego czas trwania jest proporcjonalny do odległości pomiędzy czujnikiem i przeszkodą. Odległość może być obliczona z wykorzystaniem zależności:
Rys. 4. Przebiegi ilustrujące pomiar odległości przez czujnik HC-SR04