Śpij spokojnie, pecet czuwa

Transkrypt

Śpij spokojnie, pecet czuwa
140
AK TUALNOŚCI
>>
TEMAT NUMERU
>>
HARDWARE
>>
SOFT WARE
>>
INTERNET
>>
PORADY
>>
MAGAZYN
W ARTYKULE
Schemat ideowy układu,
lista podzespołów
142
Programy sterujące i testy
interfejsu
144
Konfiguracja urządzenia
i praca z interfejsem
146
Harmonogram zadań,
możliwości rozbudowy
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.
TELEDANMARK
141
Klasyka – port szeregowy
Inteligentny dom może być tańszy, niż przypuszczasz
Śpij spokojnie,
pecet czuwa
Komputerowo sterowane urządzenia gospodarstwa domowego –
na pewno każdy o czymś takim słyszał. Chcemy o określonej porze
nakarmić rybki w akwarium, ale nie zamierzamy wstawać z fotela?
Da się to zrobić. O inteligentnych budynkach mówi się tu i ówdzie.
Tomasz Hrycuniak
P
roblem 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
CHIP | LUTY 2002
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
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
AK TUALNOŚCI
TEMAT NUMERU
>>
>>
HARDWARE
>>
SOFT WARE
>>
INTERNET
PORADY
>>
>>
141
MAGAZYN
Sterowanie urządzeniami domowymi
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.
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.
Steruj paczkami
Jeśli zajdzie potrzeba włączania
i wyłączania sprzętu większej mocy,
powinniśmy kupić odpowiednio
wytrzymałe przekaźniki.
Ł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
Kluczem do uproszczenia układu elektronicznego jest nieco nietypowe – ale ciągle
zgodne ze standardem RS232 – wykorzystanie portu szeregowego. Zamiast starać się
budować układ, który rozpozna poszczególne bity danych, ograniczymy się do łapania
całych bajtów. Gdzie tkwi trik?
Ustawiamy parametry portu szeregowego na 8N1, czyli osiem bitów danych bez
kontroli parzystości i z jednym bitem stopu.
Możemy to zrobić w systemowym Panelu
sterowania. Teraz przesłanie do portu szeregowego jednego bajtu danych zaowocuje pojawieniem się na wyjściu ciągu 10 bitów
(jednego bitu startu na początku transmisji,
później ośmiu bitów danych i jednego bitu
stopu na końcu transmisji). Jeśli tymi bajtami będą liczby „255” oraz „0”, reprezentowane binarnie jako ciąg ośmiu jedynek
i ośmiu zer, a prędkość transmisji ustawimy
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 Ω
8 szt.
10 kΩ
3 szt.
22 kΩ
9 szt.
220 kΩ
1 szt.
470 kΩ
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ł)
na 9600 bit/s, to łatwo zauważyć, że dostaniemy na wyjściu TXD stały wysoki lub niski stan logiczny. Czas trwania takiego impulsu będzie na tyle długi, aby wysterować
zwykłe układy cyfrowe, dostępne w każdym
sklepie elektronicznym za sumę nieprzekra142 »
czającą kilku złotych.
Schemat interfejsu sterującego urządzeniami elektrycznymi
TXD
GND
3
5
+5V
RS232
4
1
22k
15
a
5
MC74HCT14
2
+5V
2
2
+5V
+12V
6
220k
3
b
4
5
c
6
11
e
10
3
1n
2xBAT85
2,2n
10k
3
10k
+5V
+5V
470k
MC14094
1n
7
4
14
220V
BC337
5
22k
13
6
10k
12
9
BYP401-50
1
d
8
13
f
1n
10n
12
7
1
11
8
8 x 430Ω
Zasilanie: MC74HCT14 +5V – 14; masa – 7
MC14094 +5V – 16; masa – 8
Głównym elementem układu sterowania domowym sprzętem jest rejestr przesuwny 4094. Sygnały wyjściowe rejestru otwierają
lub zamykają tranzystory, za pośrednictwem których włączane lub wyłączane są przekaźniki uruchamiające urządzenia zasilane
napięciem 220 V. Osiem diod LED pozwala obserwować stan poszczególnych wyjść układu.
CHIP | LUTY 2002
142
AK TUALNOŚCI
>>
TEMAT NUMERU
>>
HARDWARE
>>
SOFT WARE
>>
INTERNET
>>
PORADY
>>
MAGAZYN
Sterowanie urządzeniami domowymi
Co siedzi w środku?
ich na oddzielnej płytce drukowanej i niezwykle sumienne wykonanie izolacji obwodów sieciowych, gdyż dotknięcie styków będących pod napięciem 220 V grozi
porażeniem prądem, a zwarcie w najlepszym wypadku może wywołać „wysadzenie” bezpieczników w domu!
Ważny jest też rodzaj zastosowanych
przekaźników, a zwłaszcza maksymalna obciążalność ich styków. Jeśli zamierzamy sterować odbiornikami o niewielkiej
mocy (żarówki, sprzęt RTV), to
wystarczą w zasadzie dowolne
miniaturowe przekaźniki przystosowane do pracy z napięciem
sieciowym. Gdyby jednak zaszła
konieczność sterowania sprzętem
dużej mocy (lampami z wieloma
żarówkami lub popularnymi „farelkami”), to oczywiście kupić
musimy przekaźniki odpowiednio większe, przystosowane do
Gotowy interfejs sterujący sprzętem AGD mieści się
pracy przy obciążeniu dużymi
na niewielkiej płytce drukowanej.
prądami. Prawdopodobnie wypadnie też dobrać inny tranzystor
o włączeniu lub wyłączeniu różnych urzą- sterujący. Jednak nie warto oszczędzać – padzeń. Dzięki temu otrzymamy osiem nieza- lący się zbyt słaby przekaźnik może być
leżnie sterowanych wyjść, pracujących przyczyną poważnych kłopotów.
zgodnie ze standardem TTL. Gdy na wyjściu
Rodzaj obudowy, w jakiej umieścimy
mamy stan wysoki, występuje na nim napię- nasz układ, jest obojętny – wystarczy tylko,
cie +5 V; stanowi niskiemu odpowiada 0 V. aby zapewniała ona dobrą izolację elekZ zagospodarowaniem takich sygnałów tryczną. Dość ciekawym i praktycznym rozporadzi sobie już każdy elektronik amator, wiązaniem może być wbudowanie naszego
projektując dalszą część układu zależnie od sprzętu w typową listwę zasilającą. Możemy
wymaganego zastosowania. W naszym przy- zmodyfikować istniejącą listwę lub nabyć
padku chodziło o możliwość włączania lub w sklepie elektrycznym samą jej obudowę
wyłączania domowych urządzeń elektrycz- z gniazdkami. W części pierwotnie przeznanych, zasilanych napięciem 220 V. Dlatego czonej na filtr przeciwzakłóceniowy powinteż zastosowałem przekaźniki podłączone no być wystarczająco dużo miejsca na nasz
do wyjść rejestru, tak jak to jest widoczne układ, przekaźniki i niewielki transformatow prawej części schematu.
rek zasilający. W efekcie otrzymamy urządzenie estetyczne, bezpieczne i bardzo
Lutownicę rozgrzać czas
praktyczne.
Przedstawiony na rysunku układ zmontujemy na niewielkiej płytce drukowanej. Ze Tchnięcie ducha
względu na niebezpieczeństwo uszkodzenia Do obsługi interfejsu potrzebny będzie oczyportu szeregowego komputera w przypadku wiście program sterujący. Niestety, żadnego
nieplanowanych zwarć montaż należy wy- gotowca zgodnego z naszym rozwiązaniem
konać bardzo starannie. Sporo uwagi trzeba elektrycznym znaleźć się nie uda. Pozostaje
też poświęcić przewodom połączeniowym. więc samodzielne napisanie programu. Czas
Jako że wykorzystujemy dwa styki gniazda teraz przypomnieć sobie opisane założenia
portu szeregowego (TXD i masa), wystarczy pracy układu i ustalić, co dokładnie aplikatylko przewód dwużyłowy. Dobrze jest jed- cja sterująca będzie robiła.
W zasadzie całość sprowadza się do wynak zastosować połączenie ekranowane
w celu eliminacji ewentualnych zakłóceń. syłania przez port szeregowy liczb „255” dla
Jeśli przekaźniki będą używane do włą- włączenia i „0” dla wyłączenia konkretnego
czania urządzeń na 220 V, to ze względów wyjścia. Tych ostatnich jest osiem, czyli kobezpieczeństwa zalecane jest umieszczenie mendą sterującą będzie ciąg ośmiu liczb,
Do budowy układu interfejsu (patrz: schemat) potrzebnych nam będzie kilka bramek
logicznych i kondensatory o pojemnościach
dobranych dla czasów trwania sygnałów
przy prędkości 9600 bit/s. Wykorzystamy
też ośmiopozycyjny rejestr przesuwny z zatrzaskiem. Temu ostatniemu warto poświęcić kilka słów. Rejestr będzie służył jako pamięć pozwalająca zachować informację
CHIP | LUTY 2002
w którym każda z nich odpowiada za stan
kolejnego wyjścia. I tak np. wysłanie ośmiu
zer (0 0 0 0 0 0 0 0) spowoduje wyłączenie
wszystkich wyjść. Osiem liczb „255” włączy
wszystkie przekaźniki. A co się stanie, gdy
podamy do portu ciąg (255 0 0 0 0 0 0 255)?
Tak, tak – uaktywnimy wyjścia „1” i „8”,
a wyłączymy pozostałe. Prawda, że proste?
Do rozwiązania pozostaje jeszcze jeden
istotny problem. Jako że położyliśmy nacisk
na prostotę układu elektronicznego, trudno
jest sprawdzić, które wyjścia są w danym
momencie włączone, a które wyłączone. Nie
zawsze będzie istniała możliwość bezpośredniego obserwowania sygnalizacyjnych
diod świecących interfejsu i łatwo mogłoby
dojść do pomyłek podczas sterowania poszczególnymi wyjściami. Dla uniknięcia takich sytuacji powinniśmy wyposażyć nasz
program w funkcję zapamiętywania aktualnego stanu przekaźników – na przykład
przez zapisanie na dysku twardym informacji o ich włączeniu lub wyłączeniu. Stosowne informacje możemy umieścić w Rejestrze
systemowym Windows lub utworzyć niewielki plik kontrolny. Można założyć, że
przy każdym starcie nasza aplikacja odczyta
z dysku poprzedni stan wyjść, a przed zamknięciem zapisze wszystkie zmiany dokonane przez użytkownika. Po ponownym
uruchomieniu program będzie od razu wiedział, które wyjścia zostawiliśmy włączone,
Umieszczenie naszego sterownika
w obudowie listwy przeciwzakłóceniowej zapewnia wygodną i bezpieczną
eksploatację układu.
i pokaże ich aktualny stan oraz zinterpretuje
nowe polecenia włączenia lub wyłączenia.
Wszystko jest już jasne – czyli można zabierać się do pracy. Jaki język programowania wybrać? Basic, Pascal, a może C++? Dla
tak prostych programów jak nasz jest to zupełnie obojętne. Wszystkie współczesne pakiety programistyczne dysponują gotowymi
bibliotekami obsługi portu szeregowego. Ponadto zazwyczaj dostaniemy też do ręki bardzo łatwe w obsłudze narzędzia do tworzenia interfejsu użytkownika. Tak naprawdę
napisać wypadnie jedynie procedury wysyłania komend do naszego układu. Na płycie
CD dołączonej do tego numeru CHIP-a znajduje się gotowy program sterujący oraz kilka
innych narzędzi wspomagających pracę
interfejsu.
Trochę testów
Przed rozpoczęciem normalnego użytkowania warto przetestować nasz interfejs. Pomocny w tym będzie programik SterTest 1.0
Po podłączeniu sprzętu do wybranego portu
szeregowego możemy uruchomić aplikację,
klikając przycisk oznaczony jako COM1 lub
COM2. Program rozpocznie wysyłanie przez
port sekwencji poleceń kolejno włączających każde z wyjść. W oknie programu zobaczymy, że kolor pól kontrolnych zmienia
się na czerwony. Równocześnie interfejs powinien zapalać odpowiednie diody świecące. Jeśli tak właśnie się dzieje, to mamy
pewność, że sprzęt funkcjonuje prawidłowo.
Teraz możemy się już zabrać do jego praktycznego wykorzystania.
Od czego zacząć?
W naszym rozwiązaniu do zapisu bieżących
informacji o stanie odpowiednich wyjść oraz
wybranym porcie szeregowym wykorzystany został niewielki (mający tylko dziewięć bajtów) plik konfiguracyjny STER.INI.
Do jego utworzenia, modyfikacji lub skasowania służy program SterKonfig 1.0.
Na starcie powinniśmy ustawić początkowy stan wyjść oraz wskazać port szeregowy,
do którego podłączony został nasz 144 »
Jedno kliknięcie i zostaje zainicjowany
test interfejsu.
144
AK TUALNOŚCI
>>
TEMAT NUMERU
>>
HARDWARE
>>
SOFT WARE
>>
INTERNET
>>
PORADY
>>
MAGAZYN
Sterowanie urządzeniami domowymi
Za pomocą programu SterKonfig przygotujemy plik konfiguracyjny.
Posłuży on do zapamiętania stanów wyjść układu. Aplikacja SterKlik
pozwala na włączanie i wyłączanie różnych urządzeń elektrycznych.
interfejs. Następnie już tylko klikamy klawisz
Zapisz – i w katalogu głównym Windows pojawi się plik STER.INI. W późniejszym okresie użytkowania naszego układu sterowania
przydatna może być jeszcze opcja kasowania
pliku konfiguracyjnego oraz wczytywania istniejących już danych. Przycisk Wczytaj pozwala na załadowanie z dysku pliku
STER.INI i zaprezentowanie aktualnego stanu zapisanych w nim informacji. Kolor zielony oznacza oczywiście wyjścia włączone,
szary wyłączone, a w odpowiednim polu
wskazywany jest wybrany port COM.
Tyle program SterKonfig. Teraz można
już go zamknąć i zainteresować się kolejnymi aplikacjami.
odpowiadających im pól kontrolnych to
wszystko, czego potrzebujemy. Kliknięcie
wybranego numerku załączy wskazane wyjście, a czerwony kolor właściwej „kontrolki”
będzie tego potwierdzeniem. Ponowne kliknięcie odwraca sytuację – czyli wyłącza
wskazany sprzęt.
Zamknięcie programu nie wpłynie na
stan sterowanych urządzeń, gdyż informacje
o ich włączeniu i wyłączeniu są zapisane
w pliku STER.INI. Oczywiście konieczne
jest zapewnienie nieprzerwanego zasilania
dla interfejsu, aby ten mógł utrzymać włączone przekaźniki. Po ponownym uruchomieniu aplikacji dane z dysku zostaną odczytane automatycznie.
Moc kliknięcia
Włącz światło
Pora na przejęcie kontroli nad urządzeniami
elektrycznymi. Uruchamiamy programik
SterKlik 1.0. Osiem przycisków i tyle samo
Często dojdzie zapewne do sytuacji, w której konieczne będzie szybkie włączenie lub
wyłączenie niektórych wyjść. Uruchamianie
programu SterKlik i wybieranie właściwego
klawisza może być niewygodne. Dużo lepszym rozwiązaniem jest kliknięcie tylko jednej ikonki, którą wcześniej skojarzymy
z programem współpracującym z naszym
interfejsem. Na CHIP-CD umieszczamy taką
aplikację – nosi ona nazwę STER.EXE.
Narzędzie nie rzuca się w oczy. Niczego
nie wyświetla na ekranie i samoczynnie się
zamyka. Właściwie można odnieść wrażenie, że jego uruchomienie w ogóle nic nie
daje. Jednak to tylko pozory. Wyświetlanie
komunikatów na ekranie nie jest potrzebne,
bo klikając stosowną ikonę, użytkownik będzie doskonale wiedział, co chce uzyskać.
Samoczynne zamykanie pozwoli natomiast
rozsądnie gospodarować pamięcią operacyjną peceta i mocą obliczeniową procesora.
Jakie utajone zadania wykonuje w takim razie ten program?
Otóż STER.EXE zaraz po starcie wczytuje
plik konfiguracyjny STER.INI i dzięki informacjom w nim zapisanym rozpoznaje aktualny stan wyjść interfejsu. Następnie aplikacja przekazuje do portu szeregowego
komendy zdefiniowane wcześniej przez
użytkownika. Na koniec w pliku STER.INI
zapisywana jest informacja o dokonanej
właśnie operacji i program jest automatycznie zamykany. No dobrze... ale jak można
wskazać wyjście do włączenia lub wyłączenia? Jest na to prosty i skuteczny sposób –
uruchomienie aplikacji z parametrami startowymi. STER.EXE reaguje na osiem parametrów, oddzielonych od siebie spacjami.
Współpraca interfejsu z „zewnętrznymi” aplikacjami
» Co potrafi Excel, ile umie Word
A gdyby tak podłączyć nasz interfejs do arkusza kalkulacyjnego MS Excel i uruchamiać coś automatycznie na podstawie wyniku obliczeń? Da się zrobić – i to dość łatwo. Język programowania Visual Basic dla
Microsoft Excel, w którym tworzone są makropolecenia, pozwala na uruchomienie
zewnętrznej aplikacji i nie sprawia trudności w przekazaniu jej parametrów. Znowu
skorzystamy z aplikacji STER.EXE.
Program możemy uruchomić, korzystając
z funkcji Shell() i podając parametry bezpośrednio po nazwie aplikacji. Funkcja
Worksheets().Range() pobierze wartość ze wskazanej komórki arkusza, a prosta
instrukcja warunkowa If... Then sprawdzi,
czy wartość ta osiągnęła odpowiedni poziom. Teraz trzeba tylko nasze makropolecenie umieścić w procedurze Private Sub
Worksheet_Calculate() i po każdym
CHIP | LUTY 2002
przeliczeniu arkusza wybrane wyjście zostanie włączone, gdy zawartość obserwowanej komórki spełni wymagane warunki.
Ikonki systemu sterowania można
umieścić choćby na pasku narzędzi
programu MS Word.
Przykładowe makro, współpracujące z interfejsem, zamieszczamy na CHIP-CD.
Idąc tym samym tropem, napiszemy zestaw poleceń dla programu MS Word.
W edytorze tekstu nie ma specjalnie czego
obserwować, ale można na przykład –
wspomagając się funkcją FindText – przeszukać tekst i sprawdzić, czy zawiera on
określone słowo. Jako reakcję na pozytywny wynik poszukiwań wstawiamy do makropolecenia wywołanie pliku STER.EXE
z odpowiednimim parametrami. „Strażnik
tekstu” jest już gotowy. Dla wygody obsługi dobrze by było utworzyć do naszego
makra stosowną ikonę i umieścić ją na pasku narzędzi Worda.
Teraz jednym kliknięciem znajdziemy
w edytowanym dokumencie hasło włączające jakiś sprzęt. To oczywiście – podobnie
jak w przypadku Excela – tylko przykład,
który nie zawsze znajdzie praktyczne zastosowanie. Ale jeśli poznamy zasady tworzenia makropoleceń współpracujących z aplikacją STER.EXE, to kto wie – może nasz interfejs znajdzie całkiem nieoczekiwane zastosowanie? Jakie będzie jego wykorzystanie, zależy już tylko od pomysłowości i bieżących potrzeb użytkownika.
Każdy z nich odpowiada za kolejne urządzenie: pierwszy za wyjście numer 1, drugi za
numer 2 i tak dalej. Przy tym parametr
o wartości „1” oznacza włączenie, „0” zaś –
wyłączenie określonego wyjścia. Każdy inny
znak to pozostawienie stanu wyjścia bez
zmian. Komendy i parametry uruchomieniowe mogą wyglądać następująco:
STER.EXE 1 1 1 1 1 1 1 1
(wszystkie wyjścia zostaną włączone)
STER.EXE 0 0 0 0 0 0 0 0
(wszystkie wyjścia zostaną wyłączone)
STER.EXE 1 n n 0 n n n n
(wyjście numer 1 zostanie włączone, wyście
4 – wyłączone, stan wyjść 2, 3, 5, 6, 7 i 8
się zaś nie zmieni). Oczywiście wymienione
znaki ustawiać możemy w dowolnych kombinacjach, przygotowując w ten sposób dowolną komendę dla interfejsu. Pozostaje tylko rozwiązanie problemu każdorazowego
wpisywania z klawiatury tych parametrów.
Tu z pomocą przychodzą nam właśnie systemowe skróty i ich ikony.
Odpowiednio przygotowane skróty do
programu STER.EXE zapewniają
wygodną obsługę naszego interfejsu.
Dla jednego pliku wykonywalnego
STER.EXE możemy przygotować dowolną
liczbę skrótów i każdemu z nich nadać odpowiednią nazwę (np. Włącz światło). Teraz już tylko klikamy prawym przyciskiem
myszy wybrany skrót i wybieramy opcję
Właściwości. W okienku, które ujrzymy,
znajdziemy pole Obiekt docelowy i właśnie tam, po nazwie programu (STER.EXE),
wpisujemy wymagane parametry, pamiętając o oddzieleniu ich spacjami. Warto też zainteresować się polem Klawisz skrótu,
w którym możemy zdefiniować kombinację
klawiszy uruchamiającą nasz program. Na
koniec wskazane jest dokonanie 146 »
146
AK TUALNOŚCI
>>
TEMAT NUMERU
>>
HARDWARE
>>
SOFT WARE
>>
INTERNET
>>
PORADY
>>
MAGAZYN
Sterowanie urządzeniami domowymi
Skróty nie muszą się znajdować tylko na Pulpicie. Możemy je umieścić wszędzie tam,
gdzie będą nam potrzebne – na przykład w określonym folderze menu Start.
zmiany ikony (opcja Zmień ikonę), aby łatwiej nam było odróżnić na ekranie poszczególne polecenia.
razem wyciągać z gniazdka wtyczkę zasilacza sieciowego.
Na później
Gdzie umieścić skróty?
Przygotowane przez nas skróty nie muszą
pozostawać tylko na Pulpicie. Nic nie stoi na
przeszkodzie w wykorzystaniu standardowych możliwości Windows i przeniesieniu
metodą przeciągnij-i-upuść wybranych skrótów np. do menu Start czy na pasek narzędzi. Da się także utworzyć osobną grupę
menu systemowego, w której umieścimy
skróty odpowiedzialne za najczęściej wykonywane operacje.
Posiadacze drukarki czy skanera bez wyłącznika sieciowego mogą dodać odpowiednie opcje do grupy programów związanych
z danym urządzeniem. Z pewnością dla fizycznego odłączenia zasilania wspomnianych maszyn o wiele wygodniej będzie wydać polecenie z menu Start niż za każdym
Spróbujmy teraz pokusić się o zautomatyzowanie sterowania urządzeniami. Do tego celu wykorzystamy dostępne w Windows narzędzie Harmonogram zadań.
Wydajemy polecenie Dodaj zaplanowane zadanie i w oknie kreatora w polu
Uruchom wpisujemy frazę STER.EXE. Po
zakończeniu pracy kreatora musimy odnaleźć folder Zaplanowane zadania,
a w nim zadanie o nazwie Ster (chyba że
nazwaliśmy je inaczej). Teraz zmodyfikujemy jego właściwości. Na zakładce Zadanie
uzupełniamy pole Uruchom, wpisując potrzebne parametry. Warto też skorygować
według własnego uznania wpisy na zakładkach Harmonogram i Ustawienia, czyli
umieścić datę i czas wykonania zadania,
częstotliwość jego wykonywania itp.
W rezultacie włączenie lub wyłączenie
dowolnego sprzętu określonego dnia i o precyzyjnie wskazanej godzinie nie powinno
już stanowić problemu. Przeprowadzanie takiej operacji codziennie, co tydzień, co miesiąc itd. też jest w zasięgu ręki. A samoczynne włączenie jakiejś lampy w mieszkaniu,
po jakimś czasie zgaszenie jej i zapalenie innej, uruchomienie na kilka minut trochę „za
głośno” ustawionego telewizora lub radia
może okazać się przydatne. Mało który sąsiad – o złodziejach nie wspomnę – zorientuje się, że właściciel lokalu akurat pojechał
sobie na wakacje i dom jest pusty.
Sterujmy czym się da
Harmonogram zadań Windows
pozwoli zautomatyzować pracę
interfejsu sterującego.
CHIP | LUTY 2002
Przedstawiony w artykule układ jest dość
uniwersalny. Osiem niezależnie sterowanych wyjść pracujących w standardzie TTL
może znaleźć przeróżne zastosowania. Nie
musi to być przecież tylko „klasyczne”
włączanie i wyłączanie. Czasy reakcji na poszczególne komendy podawane przez port
szeregowy są na tyle krótkie, że bez problemu zabrać się możemy do kontrolowania
najrozmaitszych urządzeń elektronicznych,
nawet wymagających częstych zmian sygnałów. Dobrym przykładem jest zastosowanie
interfejsu do sterowania światłami dyskotekowymi. To, jak będzie taki programowany
kontroler oświetlenia pracował, zależy już
tylko od programu sterującego. Mamy wolną
rękę w tworzeniu sekwencji błysków, która
może trwać nawet wiele godzin.
Na koniec chciałbym zwrócić uwagę na
drobną, lecz bardzo ciekawą cechę przedstawionego układu – łatwo go rozbudować.
W przypadku gdy osiem wyjść to liczba zbyt
mała, możemy dodać następne, podłączając
kolejne rejestry przesuwne 4094. Łącząc kaskadowo wiele układów scalonych, otrzymamy nawet kilkadziesiąt wyjść sterowanych
za pomocą peceta. Jeżeli zdecydujemy się
na takie rozwiązanie, należy tylko pamiętać,
że nieco wzrosną opóźnienia sygnałów i będzie trzeba zmodyfikować program w taki
sposób, aby wysyłał dłuższe komendy sterujące. Dla każdego nowego układu 4094
należy dodać osiem kolejnych liczb odpowiadających jego wyjściom.
Duża liczba linii sterujących wraz z wygodnym podłączeniem do komputera (kabel
dwużyłowy) pozwala na budowę wielu interesujących i całkiem poważnych sprzętów,
takich jak np. komputerowo sterowane reklamy świetlne, urządzenia sygnalizacyjne,
tablice wyników sportowych i pewnie jeszcze wiele innych. Jak się zatem okazuje, zaprzęgniecie domowego peceta do sterowania
innymi urządzeniami nie jest wcale tak trudne i kosztowne, jak mogłoby się na pierwszy
rzut oka wydawać. Wygląda na to, że skomputeryzowane domy są już dla wszystkich –
na razie w skromnym wydaniu, ale od czegoś przecież trzeba zacząć.
I
INFO
Podzespoły elektroniczne
http://www.tme.com.pl/
http://www.poltronic.com.pl/
Na CHIP-CD w dziale
Porady | Inteligentny
2
2002
budynek znajdują się
wymienione w artykule aplikacje współpracujące z opisanym interfejsem
sterującym oraz dokumenty zawierające
przedstawione w tekście makropolecenia dla programów Excel i Word.