Hej. Dziś o podłączaniu modułu przekaźnika Nettigo do Raspberry PI.
Podłączenie tu również jest bardzo proste. Wszystko podłączamy do złącza GPIO Raspberry.
- Sygnał Vcc przekaźnika podłączyłem do wyjścia 5V Rasbperry
- Sygnał GND podłączyłem do pinu GND w Raspberry
- Sygnał IN przekaźnika podłączyłem do wybranego piu GPIO. W moim przypadku jest to sygnał GPIO 18.
W Raspberry PI mamy możliwość programowania w wielu językach. Każdy, kto zetknął się z programowaniem, będzie mógł wybrać coś dla siebie.
Pierwszy przykład zademonstruje w domyślnym języku programowania maliny – Pythonie.
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) while True: GPIO.output(18, GPIO.HIGH) time.sleep(10) GPIO.output(18, GPIO.LOW) time.sleep(10)
Program włącza i wyłącza urządzenie podłączone do przekaźnika co 10 sekund. Moduł przekaźnika jest podłączony do pinu GPIO 18.
Na początku programu jest tradycyjne importowanie bibliotek używanych w skrypcie. Do sterowania pinami użyłem biblioteki RPi, która jest domyślnie zainstalowana w dystrybucji Raspbian.
Funkcja GPIO.setup(18, GPIO.OUT) ustawia pin GPIO 18 jako wyjście.
Funkcja GPIO.output(18, GPIO.HIGH) ustawia pin GPIO 18 w stan wysoki, co powoduje włączenie przekaźnika i włączenie urządzenia podłączonego do niego.
Funkcja GPIO.output(18, GPIO.LOW) ustawia pin GPIO 18 w stan niski. To powoduje wyłączenie przekaźnika i zarazem urządzenia do niego podłączonego.
Python to język bogaty w przeróżne biblioteki. Jeśli go znasz, możesz bez trudu rozwinąć ten program o sterowanie przekaźnikami przez sieć za pomocą modułu socket. Możesz stworzyć stronę internetową, którą będziesz mógł sterować urządzeniami za pomocą modułów Flask lub frameworka Django. Co tylko wymyślisz.
Większość entuzjastów Linuksa i administratorów lubuje się bardziej w komendach terminala Bash. Dla nich też znalazło się rozwiązanie do sterowania przekaźnikiem.
echo "18" > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio18/direction
Te 2 polecenia ustawiają pin GPIO 18 jako wyjście.
echo "1" > /sys/class/gpio/gpio18/value
To polecenie ustawia wyjście GPIO 18 w stan wysoki, załączając przekaźnik.
echo "0" > /sys/class/gpio/gpio18/value
To polecenie ustawia pin GPIO 18 w stan niski, wyłączając przekaźnik i urządzenie do niego podłączone.
Podłączenie większej ilości przekaźników tak jak w przypadku Arduino nie jest problemem.
Wyprowadzenia Vcc i GND w obydwu przekaźnikach podłączyłem do tych samych pinów 5V i GND w Raspberry. Wyprowadzenia IN każdego z modułów trzeba podłączyć do innego wybranego pinu GPIO. W moim przypadku pierwszy przekaźnik podłączyłem do pinu GPIO 18, a drugi do pinu GPIO 23 w Malinie. Kolejne podłączasz do kolejnych.
Programowanie 2 przekaźników jest równie proste z tym, że Najpierw ustawiasz ich kolejne piny GPIO jako wyjścia, a potem sterujesz nimi, osobnymi poleceniami dla każdego pinu.
Przy podłączaniu większej ilości przekaźników trzeba mieć na uwadze to, że każdy z nich pobiera 53 mA prądu. Prąd dostępny w pinie 5V to prąd zasilacza Raspberry odjęć prąd, który pobiera Malina (500 mA model B i 300 mA model A).
Więcej o programowaniu pinów we wszystkich językach dostępnych na Raspberry Pi możesz się dowiedzieć z artykułu: RPi Low-level peripherals
Niedawno opisywałem też projekt Jasper, który umożliwia sterowanie Raspberry głosem. Tam też możesz dodać plugin do sterowania głosem urządzeń przez moduł przekaźnika.
Jeśli masz jakieś pytania lub wątpliwości, pisz śmiało w komentarzach. Chętnie na nie odpowiem.
sprae