Śpij spokojnie, pecet czuwa

Problem w tym, że ceny instalacji zamieniających zwykłe mieszkania w “myślące” lokale nadal odstraszają nawet najbogatszych. Nie jesteśmy jednak skazani tylko na marzenia o inteligentnym domu. Spróbujmy zbudować tanią namiastkę takiego systemu.

Podstawą wszystkich nowoczesnych układów sterowania domowymi urządzeniami są komputery. Zazwyczaj nawet z wyglądu nie przypominają one klasycznych pecetów. Najczęściej mamy do czynienia z niewielkim pudełkiem, wyposażonym w kilka gniazd. We wnętrzu takiej czarnej skrzynki znaleźć można procesor typu 486, pamięć, jakiś układ graficzny. Jednym słowem jest to stary pecet w miniaturce. Producent okroił go z wszystkiego, z czego się da, a w zamian dodał zespół rozbudowanych układów wejścia/wyjścia, które pozwalają przyłączyć najrozmaitsze zewnętrzne urządzenia wykonawcze.

Nasze komputery domowe przeznaczone są do zupełnie innych zastosowań. Znacznie większa moc obliczeniowa, pojemne dyski twarde czy karty graficzne sprzętowo wspomagające generowanie trójwymiarowych obrazów na nic się nie zdadzą, jeśli zechcemy wykorzystać peceta choćby do włączania i wyłączania urządzeń elektrycznych. Powód takiego stanu rzeczy jest bardzo prosty: w standardowym wyposażeniu domowego komputera brakuje stosownego interfejsu sterującego. Poza tym nawet niezwykle rozbudowane systemy operacyjne nie dysponują odpowiednim oprogramowaniem. Wielka szkoda – przecież te wszystkie gigaherce i megabajty mogłyby przejąć kontrolę nad naszym domem.

Jeżeli zatem zamierzamy wykorzystać peceta do sterowania sprzętem gospodarstwa domowego, będziemy musieli uzupełnić braki w wyposażeniu komputera. Przygotujemy trochę niestandardowego sprzętu i program sterujący, pozwalający na niezależne włączanie i wyłączanie kilku urządzeń elektrycznych za pomocą jednego kliknięcia myszką. Jakie koszty przyjdzie nam ponieść? Wystarczy kilkadziesiąt złotych i trochę wolnego czasu, który poświęcimy na zbudowanie układu oraz ewentualne przygotowanie oprogramowania.

Klasyka – port szeregowy

Zanim chwycimy za lutownicę, wypada się zastanowić, jak w ogóle podłączyć do komputera interfejs sterujący zewnętrznymi urządzeniami. Nie ma sensu kombinować i wymyślać kart rozszerzeń wkładanych bezpośrednio w złącza PCI albo ISA. Takie rozwiązanie skomplikowałoby bardzo nasze zadanie. Najlepiej zatem będzie zdecydować się na coś, co jest dostępne w każdym pececie i na dodatek dobrze znane od strony programowej.

Od razu na myśl przychodzi port szeregowej transmisji danych zgodny ze standardem RS232 – i to z trzech powodów. Po pierwsze: niemal od początku istnienia domowych komputerów złącze szeregowe jest faktycznym standardem w komunikacji peceta z nawet najbardziej nietypowymi urządzeniami. Po drugie: każdy system operacyjny przystosowany jest do jego wykorzystania. Po trzecie wreszcie: narzędzia programistyczne oferują gotowe procedury obsługi portu szeregowego, co ułatwia napisanie potrzebnego oprogramowania.

Świetnie… czyli z systemem operacyjnym i oprogramowaniem poradzimy sobie bez problemów – ale co z elektrycznymi sygnałami dostępnymi w gnieździe COM? Tu na pozór możemy spodziewać się kłopotów. Transmisja szeregowa realizowana jest przez zmianę napięć na pojedynczych wyprowadzeniach portu szeregowego. Kiedy dane są nadawane, zmienia się poziom napięcia na pinie TXD. Podczas odbierania informacji odczytywane jest napięcie na wyprowadzeniu RXD. Dzięki zastosowaniu odpowiedniego protokołu komunikacyjnego urządzenie współpracujące z pecetem rozpoznaje zmiany napięć jako bity danych i układa je w całe bajty.

Łatwo zauważyć, że wykorzystywanie pinu TXD pozwala włączać i wyłączać tylko jedno urządzenie. Gdyby miało ich być więcej, nasz interfejs powinien zawierać układ analizujący dłuższe ciągi bitów danych. Najlepiej nadawałby się do tego celu jakiś mikrokontroler jednoukładowy. Tyle tylko, że zastosowanie mikrokontrolera wymagałoby zbudowania osobnego programatora takiego układu. Interfejs miał być prosty i tani, a zatem trzeba będzie znaleźć inny sposób analizowania pojedynczych bitów transmitowanych przez łącze szeregowe.

Podzespoły
Co trzeba kupić
Układy scalone:
MC 14094 1 szt.
MC 74HCT14 1 szt.
Tranzystory:
BC 337 8 szt.
Diody:
BYP 401-50 8 szt.
BAT 85 2 szt.
Rezystory:
430 Ohm 8 szt.
10 kOhm 3 szt.
22 kOhm 9 szt.
220 kOhm 1 szt.
470 kOhm 1 szt.
Kondensatory:
1 nF 3 szt.
2,2 nF 1 szt.
10 nF 1 szt.
Inne:
Diody LED 8 szt.
(koszt elementów wynosi kilkadziesiąt zł)

Więcej:bezcatnews