Opis działania
Zestaw składa się z nadajnika i odbiornika wyposażonych w moduły radiowe RX/TX 433. Nadawanie, odbiór i kontrola całego zdarzenia wykonywane są przez dwa mikrokontrolery ATtiny13: jeden w nadajniku, drugi w odbiorniku.
Nadajnik w stanie spoczynku nie pobiera prądu, dopiero naciśnięcie przycisku powoduje dołączenie zasilania do układu. Po uruchomieniu włączany jest przetwornik A/C i sprawdzane napięcie baterii. Jeśli jest ono za niskie (poniżej 7,5 V), to zaświecana jest zielona dioda. Następnie włączany jest TIMER0 a CPU realizuje nieskończoną pętlę.
Przerwania generowane przez Timer powodują wywołanie podprogramu wysyłania danych, co sygnalizowane jest świeceniem czerwonej diody. Po wysłaniu adresu i komendy, transmisja wstrzymywana jest na około 20 ms, po czym rozpoczyna się od nowa.
Program odbiornika również pracuje w pustej pętli. Dopiero przerwanie Timera wywołuje podprogram, który odpowiada za odbieranie sygnału, sprawdza stan przycisku i odlicza czas dla funkcji włącznika czasowego. Stan gotowości sygnalizowany jest krótkim mignięciem zielonej diody co około 3 s. Załączenie lub odłączenie przekaźnika następuje po odebraniu poprawnej ramki, lub po naciśnięciu przycisku. Dłuższe przytrzymanie przycisku pilota nie powoduje żadnej reakcji, tzn. nie powoduje naprzemiennego załączania i odłączania przekaźnika, co mogło mieć miejsce w przypadku zastosowania układów HT12.
Jeśli połączymy zworą piny 2-3 złącza SW2, to wówczas układ pracuje jako normalny przełącznik. Załączenie przekaźnika sygnalizowane jest świeceniem czerwonej diody. Jeśli zworkę przesuniemy na piny 1-2, to wtedy układ działa jako włącznik czasowy: dioda czerwona świeci a dioda zielona miga z częstotliwością około 0,5 Hz. Przekaźnik załączany jest na określony czas, proporcjonalny do ustawienia potencjometru R6. Jeśli jednak ustawiona zostanie minimalna rezystancja, to układ przełączy się w tryb pracy normalnej.
Warto krótko omówić sposób transmisji. Kodowanie odbywa się poprzez modulację szerokości impulsu. Logiczna „1” ma wypełnienie 66%, a logiczne „0” 33%. Impuls inicjujący ma czas czterokrotnie dłuższy od pozostałych. Daje to dwie podstawowe korzyści: umożliwia modułowi odbiornika dostrojenie się do sygnału i pozwala na łatwe wykrycie początku ramki.
Wysyłane dane to dwa bajty: adres i komenda. W programie, wartości te ustawiono na 85 i 155, jednak decydującą rolę ma wartość komendy. To na jej podstawie odbiornik decyduje, czy sygnał pochodzi z właściwego nadajnika. Bajt adresu wykorzystywany jest do określenia poprawności transmisji i musi zawierać 8 dowolnych bitów. Wartość komendy można zmienić (0…255) w programie. Umożliwia to pracę kilku takich urządzeń w jednym obszarze, bez wzajemnego wpływania na siebie. Jeśli w programie taka sama wartość komendy zostanie nadana odbiornikowi i kilku nadajnikom, to każdy z nich będzie sterował tym odbiornikiem.