Bogusław Kempny

Zliczamy impulsy

Autor adres



Początek HC-SR04 LCD Kamera fork() sms strfry() GPIO impulsy Klawiatura ....










Zmiana stanu sygnału na pinie GPIO może, po odpowiednim jego zaprogramowaniu, spowodować wygenerowanie przerwania. Przerwanie to może zostać wygenerowane przy narastającym zboczu (0 -> 1), opadającym (1 -> 0), lub obu.

Może to znaleźć wiele ciekawych zastosowań.

Zliczanie przechodzących osób, liczby obrotów (obliczanie prędkości obrotowej) czegoś wirującego, uruchomienie alertu (światło, dźwięk, sms..) po otwarciu drzwi, zasunięcie rolet w oknach po zmierzchu....

Wystarczy na pin podać sygnał z czujnika (mikrowyłącznik, transoptor, czujnik elektromagnetyczny) i już możemy działać.

Czujnik oczywiście musi podawać sygnał cyfrowy, w standardzie CMOS, 3,3V. Jeśli produkuje sygnał w standardzie TTL, 5V, musimy go 'przerobić', na przykład dzielnikiem z dwu rezystorów.

Jeśli sygnał naszego czujnika to 'otwarty kolektor' lub zwykły mechaniczny styk, jesteśmy w szczególnie dobrej sytuacji. Piny GPIO wyposażone są w rezystory, za pomocą których możemy podpiąć je do masy lub napięcia zasilania. Zwyczajnie programując pin, bez żadnych kabelków.

Pin oczywiście musi być zaprogramowany na INPUT.

Podpinamy wtedy zwykły mechaniczny wyłącznik pomiędzy pin a masę i gotowe. Zwieramy - jest zero logiczne, rozwieramy - jedynka logiczna.

W naszym przykładzie nie użyjemy zewnętrznego źródła impulsów, nie wniosłoby to niczego istotnego do objaśniania zasady działania, Raspberry sam je wygeneruje.