Raspberry Pi: karta przekaźnikowa

Raspberry Pi: karta przekaźnikowa
Uniwersalna budowa Raspberry Pi sprawia, że można go zastosować do wielu bardzo różnych projektów. Ten minikomputer świetnie sprawdza się tak w edukacji, robotyce, jak i w dziedzinie automatyki. W sprzedaży znajduje się szeroka gama rozszerzeń, które pozwalają na budowę tzw. inteligentnego domu. Jednym z takich komponentów jest karta przekaźnikowa DTR PAM 4K produkowana przez polską firmę PAM z Jeleniej Góry. Kartę PAM4K wyposażono w 4 przekaźniki. Każdy z nich steruje prądem zmiennym 230V do wartości 6A. Przekaźniki są zasilane 5V, ale mogą być przełączane przez 5 lub 3,3V. Ich pobór mocy jest na tyle niewielki, że można je kontrolować bezpośrednio z Raspberry Pi. Skuszony takimi możliwościami, zbudowałem „inteligentne” zasilanie dla nocnej lampki.
Uwaga: w grę wchodzą poważne napięcia i prądy, zachowajcie szczególną ostrożność przy montażu i uruchamianiu poniższego zestawu.

Przeciąłem jedną z żył kabla od lampki. Końce podłączyłem do wejścia CON pierwszego z przekaźników i jego wyjścia NO (ang. normally open). Raspberry połączyłem z kartą za pomocą taśmy 26-pinowej.

Na zdjęciu przedstawiono Raspberry Pi, kartę PAM4k i lampkę:

IMG_0334

Oprogramowanie napisane w Pythonie jest naprawdę nieskomplikowane. Stworzyłem skrypt „lampka.py”:

nano lampka.py

i wpisałem (możecie skopiować bezpośrednio do konsoli):

import RPi.GPIO as GPIO

import datetime

PINK1 = 22

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BCM)

GPIO.setup(PINK1, GPIO.OUT)

tickTime = datetime.datetime.now()

tickTime = tickTime.replace(hour=21, minute=00)

if datetime.datetime.now().time() > tickTime.time():

GPIO.output(PINK1, True)

else: GPIO.output(PINK1, False)

#cleanup spowodowalby odciecie portow po wyjsciu ze skryptu

#GPIO.cleanup()

Zapisałem plik (CTRL-X, Y, ENTER) i uzupełniłem harmonogram usługi cron:

sudo crontab -e

Do otwartego skryptu dodałem następujący wpis:

*/5* * * * sudo /usr/bin/python /home/pi/lampka.py

Zapisałem plik (CTRL-X, Y, ENTER). W ten sposób skonfigurowałem cron'a, żeby uruchomił skrypt „lampka.py” co 5 minut. Jeszcze restart usługi:

sudo service cron restart

Dzięki tym zabiegom lampka przy telewizorze zapali się automatycznie po godzinie 21 (zakładając, że RPi ma poprawny czas). Jak widzicie, automatyka domowa z Raspberry wcale nie jest trudna!

Płytka PAM4K sprawia wrażenie bardzo solidnej. Laminat jest gruby i sztywny. Elementy są symetrycznie i regularnieułożone co sprawia przyjemne wrażenie uporządkowania. Ścieżki poprowadzono z daleka od otworów montażowych. Rozmiar PAM4K idealnie pasuje do Raspberry. Nieużywane przez kartę porty (BCM GPIO 23, 18, 15, 14, 24 oraz SDA, SCL i 1-Wire) wyprowadzono na osobne złącza pozwalając tym samym na podłączenie dodatkowych akcesoriów. Logika jest bezpiecznie odseparowana galwanicznie. Na plus można też zaliczyć szczegółową instrukcję z przykładami użycia.

Główną wadą tego urządzenia jest dla mnie brak jakichkolwiek opisów na płytce. Sprawia to, że zawsze muszę mieć instrukcję pod ręką. Złącze niewykorzystanych portówzorganizowano tak, że masa sąsiaduje z 5V; o fatalną pomyłkę więc nietrudno. Oczywiście dodanie takiej warstwy opisów podniosłoby cenę urządzenia, uważam jednak, że warto.

Pokusiłbym się również o inne rozlokowanie otworów montażowych. Rozmiar płytki aż się prosi o „kanapkowe” umieszczenie nad RPi z użyciem męsko-żeńskich dystansów. Niestety w obecnym układzie otwory nie zgrywają się ani z wersją B, ani z B+. Przy okazji zmieniłbym usytuowaniegrzebienia do podłączenia GPIO. Teraz trzeba się nieźle nakręcić taśmą, żeby jakoś ułożyć.

PAM Jelenia Góra ma w swojej ofercie kilka rodzajów kart – między innymi z większą ilością przekaźników oraz sterowanych za pomocą I2C. Producent dostarcza również zestawy czujników i własne oprogramowanie, które umożliwia scentralizowane zarządzanie.

Podsumowując: karta PAM4K to bardzo ciekawe rozszerzenie. Funkcjonalne i dobrze zaprojektowane – wraz z innymi akcesoriami tego producenta - może pozwolić na budowanie ciekawych rozwiązań. Bądźcie ostrożni przy łączeniu!

Na podstawie: www.pamjgora.pl