Zajmijmy się zatem zaprogramowaniem sterboxa dla podstawowej funkcjonalności w małym pomieszczeniu 4 wejscia, 4 wyjścia.
Zgodnie z opisem połączeń w poprzednim artykule widać tutaj 4 wyjścia (punkty oświetleniowe):
ww0 - Blat, ww1 - Sciana, ww2 - Sufit, ww3 - Okna (gniazdek w kuchni nie podłączałem :) ) oraz 4 wejscia ww4 - Ruch, ww5 - CzujOkna, ww6 - WL2 i ww7 - WL1
CzujOkna to czujnik otwarcia okien, zwykły kontaktron za parę zł, Ruch to czujka ruchu Satel, WL1 i WL2 to podwójny włącznik dzwonkowy na ścianie
Po prawej mamy komunikat RoomTemp wyświetlający aktualną temperaturę z czujnika lm35.
Zauważ drogi czytelniku, że 2 wejscia mają ustawiony stan aktywny 1, ponieważ do nich podłączone urządzenia typu NC (normally close - domyślnie obwód zamknięty) dzięki temu starbox ustawi stan 1 w momencie rozłączenia obwodu, a nie jego połączenia.
W menu klawiszy zdefiniowanych jest 6 klawiszy ekranowych gdzie pierwsze 4 odpowiadają pierwszym 4 wyjściom sterboxa (kolejność i numerki klawiszy muszą sie zgadzać z 4 wyjściami jeśli później chcemy sterować sterboxem z innego systemu czyli ww0 to kl0 a ww3 to kl3) Kolejna linia klawiszy ekranowych (kl4 do kl7 jest do innych zastosowań jako, że porty ww3-ww7 są używane jako wejścia, ja używam tutaj przełącznika ruchauto (włącza automatyczne uruchamianie światła w danym pomieszczeniu z czujki ruchu) i off impuls (wyłącza wszystkie wyjścia na danym sterboxie)
Definicja klawiszy ekranowych jest ściśle powiązana z komendami http jakimi poźniej można sterować wyjściami sterboxa z innych systemów np otwarcie adresu
http://10.10.0.205/x?x000=Blat+Impuls spowoduje wsyłanie impulsu 1s do przełącznika T czyli zmianę jego stanu na przeciwny a na wyjsciu przełącznika T mamy zdefiniowane wyjscie ww0. Aby sterować również z włącznika na ścianie mamy również skonfigurowaną makrocelę jako bramkę OR łączącą klawisz ekranowy kl0 z wejsciem wl1. W skócie całość połączeń wygląda tak:
Port wejsciowy ww7 opisany jako WL1 z powiązaniem wl1 oraz klawisz ekranowy opisany jako Blat z powiązaniem kl0 schodza się w makroceli typu OR
gdzie na wyjściu powiązanie ma nazwę blatt i to stanowi wejscie przerzutnika T
którego wyjściem jest port ww0 opisany jako Blat z nazwą powiązania blat. Prościzna prawda :). Zauważcie, że na wejściu R (Reset) przerzutnika T jest wskazane powiązanie off które jest również zdefiniowane na klawiszu ekranowym kl7. Tak, kliknięcie klawisza Off spowoduje zmianę stanu na 0 wszystkich przerzutników T które mają powiazanie off na wejściu reset. Czyli wyłącznie wszystkich wyjść w ten sposób sterowanych.
Sterbox posiada w sobie równiez przerzutniki monostabilne czasowe które są bardzo fajne do np uruchamiania oswietlenia z czujki ruchu na określony czas.
Na obrazku widać podłączone wejście z czujki ruchu do takiego przerzutnika i zdefiniowany czas 600 sekund co daje logiczną 1 na wyjściu mn0 przez 10 minut po aktywacji czujki ruchu. Wartość licznika jest resetowana na pelne 10 minut po każdej kolejnej aktywacji wejścia ruch. Zauważcie, że tu również jest podłączony klawisz ekranowy off na wejscie reset.
Dalej mamy makrocelę AND do której na wejście sa wprowadzone: noc - wartość 0/1 przychodząca z innego sterboxa, wspomniany wyżej mn0, klawisz ekranowy typu zmiana o nazwie ruchauto (możliwość wyłączenia z klawisza ekranowego automatycznego włączania światła) i sztuczne wypełnienie logiczną 1 ponieważ wyjście sciana uzyska wartość 1 tylko jeśli wszystkie wartości na wejsciu będą równe 1. I to wszystko, mamy światło automatycnzie uruchamiane z czujki ruchu tylko jak jest ciemno. Zamiast tej jedynki w sypialni użyłem jeszcze wartości ruchzg0 z wbudowanego zegara w sterboxie tak by światło nie zapalało się w nocy jak śpię pomiędzy 23:30 a 07:00.
Warto wspomnieć jeszcze skąd się bierze wartość noc. Otóż, jeden ze sterboxów ma podłączony fotorezystor pod wejscie analogowe wa0:
I ta wartośc z wejscia wa0 jest dublowana w bramce OR na wiele wartości noc1, noc2, noc3, noc4 itd. po czym w menu powiazania każda wartość jest rozsyłana po aliasach
do wszystkich pozostałych sterboxów
następnie w sterboxie z kuchni wartość noc5 przechodzi przez bramkę buforującą i jest zamieniania na powiązanie noc. (bramka buforująca jest konieczna do przechowywania wartości pochodzących ze zdalnych sterboxów)
Przy okazji widać powyżej również przychodzącą wartość off5 która łączy sie w kolejnej bramce OR w wartość off. To nic innego jak przekazanie z innego sterboxa gdzie jest podłączony przełącznik ścienny, polecenia wyłącz wszystko w całym domu i rozesłaniu go do wszystkich sterboxów celem zresetowania stanów przerzutników T i monostabilnych, wystarczy jedno klikniecie w klawisz na scianie i wszystkie światła i gniazdka sterowane gasną w tym samym momencie.
Użycie logiki wewnątrz sterboxa do automatycznego zapalania światła ma jedną zaletę, działa to bardzo szybko. Światło zapala sie dokładnie w tym samym momencie w którym zapala się dioda w czujce ruchu, zero opuźnienia.