5 Dni z przekaźnikiem Nettigo – Dzień 3 – Raspberry PI

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

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.