- Wymagany materiał:
- Moduł czujnika podczerwieni:
- Schemat obwodu i wyjaśnienie:
- Programowanie Raspberry Pi:
- Pracujący:
Jak wszyscy wiemy, Raspberry Pi to wspaniała platforma deweloperska oparta na mikroprocesorze ARM. Dzięki dużej mocy obliczeniowej potrafi zdziałać cuda w rękach elektroników lub studentów. Wszystko to jest możliwe tylko wtedy, gdy wiemy, jak sprawić, by wchodziło w interakcję ze światem rzeczywistym. Istnieje wiele czujników, które mogą wykryć określone parametry ze świata czasu rzeczywistego i przenieść je do świata cyfrowego. Omówiliśmy wiele projektów Raspberry Pi z wieloma czujnikami. Raspberry Pi jest również dobrodziejstwem dla projektów IoT, ponieważ jest kieszonkowym komputerem z wbudowanym Wi-Fi, posiadającym możliwości mikrokontrolera.
W tym samouczku dowiemy się, jak połączyć czujnik podczerwieni z Raspberry pi. Czujniki te są najczęściej używane w małych robotach, takich jak robot śledzący linię, robot unikający krawędzi itp. Mówiąc najprościej, mogą wykryć obecność obiektów przed nim, a także rozróżnić kolor biały i czarny. Brzmi fajnie, prawda?
Nauczmy się więc jak połączyć ten czujnik z Raspberry Pi. W tym projekcie, gdy nie ma obiektu przed czujnikiem IR, to czerwona dioda LED pozostaje włączona i jak tylko umieścimy coś przed czujnikiem IR, czerwona dioda zgaśnie i zapali się zielona dioda. Ten obwód może również służyć jako obwód alarmu bezpieczeństwa.
Wymagany materiał:
- Raspberry Pi 3 (dowolny model)
- Moduł czujnika podczerwieni
- Świeci się zielona i czerwona dioda LED
- Płytka prototypowa
- Przewody łączące
Moduł czujnika podczerwieni:
Czujniki IR (czujnik podczerwieni) to moduły wykrywające obecność obiektów przed nimi. Jeśli obiekt jest obecny, na wyjściu daje 3,3 V, a jeśli go nie ma, daje 0 V. Jest to możliwe dzięki zastosowaniu pary IR (nadajnik i odbiornik), nadajnik (IR LED) wyemituje promień IR, który zostanie odbity, jeśli przed nim znajdzie się jakiś obiekt. Ten promień podczerwieni zostanie odebrany z powrotem przez odbiornik (fotodioda), a sygnał wyjściowy zostanie ustawiony na wysoki po wzmocnieniu za pomocą łącza wzmacniacza operacyjnego LM358. Możesz dowiedzieć się więcej o obwodzie modułu czujnika podczerwieni tutaj.
Czujnik podczerwieni użyty w tym projekcie pokazano powyżej. Jak każdy czujnik podczerwieni ma trzy piny, które są odpowiednio 5 V, Gnd i Out. Moduł zasilany jest z pinu 5V z Raspberry Pi, a pin wyjściowy jest podłączony do GPIO14 Raspberry Pi. Potencjometr na górze modułu służy do regulacji zasięgu czujnika podczerwieni.
Schemat obwodu i wyjaśnienie:
Schemat obwodu podłączenia Raspberry Pi z czujnikiem IR pokazano poniżej. Jak widać schemat obwodu jest bardzo prosty. Zasililiśmy moduł IR bezpośrednio z 5V i pinu uziemienia Raspberry Pi. Pin wyjściowy modułu IR jest podłączony do GPIO14. Zastosowaliśmy również dwie diody LED (zieloną i czerwoną), aby wskazać stan obiektu. Te dwie diody LED są podłączone odpowiednio do GPIO3 i GPIO2.
Ponieważ piny GPIO Raspberry Pi mają napięcie 3,3 V, rezystor ograniczający prąd nie jest obowiązkowy. Jednak w razie potrzeby można dodać rezystor o wartości 470 omów między styk masy diod LED a Raspberry Pi. Całość zasilana jest przez przenośną ładowarkę 5V poprzez port micro USB Raspberry pi.
Uwaga: Podłączając dowolny czujnik, upewnij się, że masa czujnika jest połączona z masą MCU lub MPU (tutaj Raspberry Pi). Dopiero wtedy będą mogli się komunikować.
Programowanie Raspberry Pi:
Tutaj używamy języka programowania Python do programowania RPi. Istnieje wiele sposobów programowania Raspberry Pi. W tym samouczku używamy IDE Python 3, ponieważ jest ono najczęściej używane. Kompletny program Python jest podany na końcu tego poradnika. Dowiedz się więcej o Programowaniu i uruchamianiu kodu w Raspberry Pi tutaj.
Porozmawiamy o kilku komendach, których będziemy używać w programie PYHTON,
Zamierzamy zaimportować plik GPIO z biblioteki, poniższa funkcja umożliwia zaprogramowanie pinów GPIO PI. Zmieniamy również nazwę „GPIO” na „IO”, więc w programie zawsze, gdy będziemy chcieli odwołać się do pinów GPIO, użyjemy słowa „IO”.
importuj RPi.GPIO jako IO
Czasami, gdy piny GPIO, których próbujemy użyć, mogą wykonywać inne funkcje. W takim przypadku podczas wykonywania programu będziemy otrzymywać ostrzeżenia. Poniższe polecenie mówi PI, aby zignorował ostrzeżenia i kontynuował program.
IO.setwarnings (fałszywe)
Możemy odnosić się do pinów GPIO PI, albo przez numer pinu na płycie, albo przez numer ich funkcji. Tak jak „PIN 29” na płycie to „GPIO5”. Więc mówimy tutaj albo będziemy reprezentować pinezkę jako „29” lub „5”.
IO.setmode (IO.BCM)
Ustawiamy 3 piny jako piny wejścia / wyjścia. Dwa piny wyjściowe będą sterować diodą LED, a pin wejściowy odczyta sygnał z czujnika podczerwieni.
IO.setup (2, IO.OUT) #GPIO 2 -> Czerwona dioda LED jako wyjście IO.setup (3, IO.OUT) #GPIO 3 -> Zielona dioda LED jako wyjście IO.setup (14, IO.IN) #GPIO 14 -> Czujnik podczerwieni jako wejście
Teraz musimy wyłączyć zieloną diodę LED i włączyć czerwoną diodę, gdy obiekt jest daleko. Można to zrobić, sprawdzając pin GPIO14.
if (IO.input (14) == True): # obiekt jest daleko IO.output (2, True) # Czerwona dioda ON IO.output (3, False) # Zielona dioda zgaszona
Podobnie musimy włączyć zieloną diodę LED i wyłączyć czerwoną diodę, gdy obiekt jest blisko.
if (IO.input (14) == False): #obiekt jest blisko IO.output (3, True) # Zielona dioda włączona IO.output (2, False) # Czerwona dioda wyłączona
Poniższe polecenie jest używane jako pętla wieczna, z tym poleceniem instrukcje wewnątrz tej pętli będą wykonywane w sposób ciągły.
Podczas gdy 1:
Pracujący:
Po utworzeniu kodu Pythona wykonaj go za pomocą polecenia run. Jeśli program zostanie uruchomiony bez żadnych błędów, powinien pojawić się następujący ekran.
Powinieneś również zobaczyć, jak czerwona dioda LED świeci się wysoko, gdy przed czujnikiem nie ma żadnego obiektu, jak pokazano poniżej.
Teraz zbliż coś do diody IR i powinieneś zauważyć, że czerwona dioda gaśnie, a zielona się włącza. Kompletną pracę można znaleźć na poniższym filmie.
Mam nadzieję, że zrozumiałeś projekt i udało Ci się zbudować z nim coś użytecznego. Jeśli masz jakieś pytania, zamieść je w sekcji komentarzy poniżej lub na forum.