Bogusław Kempny

Ultradźwiękowy pomiar odległości

Autor adres
Początek HC-SR04 LCD Kamera fork() sms strfry() GPIO impulsy Klawiatura Brama GPIO PWM SG90 ....











Zwykle w tym miejscu pojawia się odmiana prościutkiego programu dla Arduino, generujemy Strob, czekamy na sygnał Echo, mierzymy czas jego trwania, dzielimy przez 58 i gotowe.
Nie przejmujemy się zakłóceniami.

My jednak podłączymy nasz czujnik do Raspberry.

Są dwie istotne różnice.

Pierwsza to zasilanie.

Raspberry zasilany jest napięciem 5V, ale na pinach łączówki GPIO sygnały są w standardzie CMOS, 3,3V. HC-SR04 pracuje w standardzie TTL, 5V. Podanie napięcia wyższego niż 3,3V na pin GPIO może skończyć się jego uszkodzeniem.

No i druga istotna rzecz, Raspberry ma wielozadaniowy system operacyjny, precyzyjne zmierzenie krótkiego odcinka czasu nie jest możliwe, nasz program nie ma wyłącznego dostępu do procesora, może czekać na swoją kolej aż inny program lub jądro zakończy pracę.

Z pierwszym problemem łatwo sobie poradzić, wystarczy sygnał z pinu Echo podpiąć do GPIO przez zwykły dzielnik z dwu rezystorów:

Z drugim problemem zmierzymy się programowo.