[PROJEKT] Ultradźwiękowy czujnik odległości HC-SR04 i Arduino

W artykule opisano ultradźwiękowy czujnik odległości wspomagający np. trudny proces parkowania samochodu. Obecnie jest to standardowe wyposażenie niemal wszystkich samochodów – szczęśliwi właściciele samochodów wyposażonych w to udogodnienie mogą zapoznać się z zasadą działania takiego czujnika, a pozostali mogą wykonać samodzielnie wykonać takie urządzenie. Prezentowany czujnik odległości może znaleźć również inne zastosowanie, np. zamontowany na ścianie w garażu może sygnalizować odległość od ściany parkowanej przyczepy.

Opisywany czujnik odległości wykorzystuje moduł HC-SR04, który za pomocą fal ultradźwiękowych pozwala zmierzyć odległość od przeszkody. Informacja o odległości jest odbierana przez mikrokontroler na płytce KAmduino UNO, który przedstawi odległość w postaci świetlnej (za pomocą linijki z adresowanymi diodami RGB WS2812). Gdy odległość będzie mniejsza od zadanej (zdefiniowanej przez nas odległości granicznej), program zasygnalizuje to dźwiękiem buzzera.

Do realizacji projektu będą potrzebne następujące elementy:

Rysunek 1. Czujnik HC-SR04

Ultradźwiękowy czujnik odległości HC-SR04

HC-SR04 to ultradźwiękowy czujnik odległości o zakresie pomiarowym 2…500 cm z rozdzielczością 0,3 cm. Ma on 4 wyprowadzenia: VCC, GND, ECHO oraz TRIG. Aby wyzwolić pomiar, na pin TRIG należy podać stan wysoki przez 10 μs, następnie czujnik wyśle grupę impulsów o częstotliwości 40 kHz, gdy fale obiją się od przeszkody i trafią z powrotem do czujnika. Określi on czas pomiędzy ich wysłaniem i odebraniem i na pinie ECHO wygeneruje stan wysoki o czasie trwania proporcjonalnym do odległości od przeszkody. Znając czas trwania tego impulsu można obliczyć odległość od przeszkody korzystając ze wzoru:

D [cm] = T /58

gdzie:

D – dystans przeszkody od czujnika

T – czas trwania wygenerowanego impulsu.

Kolejnym elementem użytym w projekcie jest listwa z diodami adresowanymi WS2812. Będą one sygnalizować jak daleko od czujnika znajduje się przeszkoda. Jeżeli przeszkoda znajduje się daleko od diody, będą one świecić się w kolorze zielonym. W miarę zmniejszania się odległości, liczba świecących się diod zmaleje, a gdy przeszkoda będzie już bardzo blisko, to świecić się będzie tylko jedna dioda w kolorze czerwonym.

 Czujnik odległości HC-SR04 został opisany w artykule: HC-SR04 – ultradźwiękowy czujnik odległości i Arduino
 Sterowanie diodami WS2812 zostało przedstawione w artykule: [PROJEKT] KAmodWS2812 + KAmduinoUNO

Ostatnim elementem wykorzystanym w projekcie jest buzzer z generatorem. Gdy przeszkoda znajdzie się bardzo blisko czujnika, będzie on ostrzegał przed zderzeniem emitując wysoki dźwięk. W celu ograniczenia głośności buzzera można podłączyć go przez rezystor o wartości np. 100…200 Ω.

Połączenie elementów

Elementy należy połączyć zgodnie z poniższym schematem:

Rysunek 2. Schemat podłączenia poszczególnych elementów do KAmduino UNO 

Podłączenie przedstawiono również w tabelach poniżej:

Połączenie z czujnikiem odległości:

Pin KAmduino UNO HC-SR04
+5V VCC
GND GND
2 TRIG
3 ECHO

Połączenie z łańcuchem diod:

Pin KAmduino UNO Wyprowadzenia diod WS2812
+5V VCC
GND GND
6 DI

Połączenie z buzzerem,

Pin KAmduino UNO Pin Buzzer
9 VCC
GND GND

Podłączone elementy prezentują się następująco:

Rysunek 3. Zmontowany układ czujnika do parkowania

Do pobrania

O autorze