- Wskazywanie czasu w trybie 12-godzinnym.
- Funkcja budzika.
- Ustawianie za pomocą 3 przycisków.
- Zegar oparty o układ PCF8583, mikrokontroler ATmega 16.
- Zasilacz 9…12 V DC o wydajności ok. 300 mA.
- Wyświetlacz wykonany z laminatu, z podświetlaniem za pomocą LED.
Urządzenie to typowy zegar odmierzający czas. Tym, co wyróżnia go wśród innych zegarów jest sposób prezentowania czasu – wskazania godzin i minut są wyświetlane nie za pomocą cyfr, ale słownie. Słowa są wycięte w specjalnie przygotowanym panelu/maskownicy i podświetlane przez odpowiednio rozmieszczone diody LED. Panel główny pokazuje czas z dokładnością do 5 minut, a zainstalowane 4 dodatkowe diody zwiększają precyzję wskazań do 1 minuty.
Korzystanie z zegara może wydawać się trudne, jednak po jednym czy dwóch dniach okazuje się bardzo łatwe.
Układ ma funkcję budzika i bateryjne podtrzymanie czasu w wypadku zaniku zasilania. Do odliczania czasu zastosowano popularny układ zegara RTC – PCF8583, a całe urządzenie jest sterowane przez mikrokontroler ATmega16 taktowny za pomocą rezonatora kwarcowego 16 MHz.
Jak wspomniano, do odmierzania czasu jest używany układ zegara RTC z interfejsem szeregowym I²C – PCF8583. Jego zaletą jest niewielki pobór mocy, co ma duże znaczenie dla zasilania awaryjnego. Linie danych i zegarowa (wyprowadzenia PD5 i PD6 mikrokontrolera) są zasilane za pomocą rezystorów 4,7 kΩ wymaganych przez specyfikację I²C. Zawartość wewnętrznego rejestru słowa adresowego jest automatycznie zwiększana o 1 po każdym zapisie lub odczycie bajtu (autoinkrementacja). Wyprowadzenie linii adresu A0 jest wykorzystane do sprzętowego programowania adresu umożliwiając dołączenie do magistrali dwóch układów PCF8583 bez żadnych dodatkowych obwodów.
Pierwsze 9 bajtów pamięci jest zajmowane przez funkcję kalendarza. Kolejne 8 bajtów stanowi rejestr alarmu W zależności od zawartości rejestru sterowania/stanu jest wybierany tryb pracy zegara. W trybie zegara wskazania czasu i daty są liczbami BCD. W trybie licznika zdarzeń układ jest wykorzystywany do zliczania impulsów podawanych na wejście oscylatora (OSCO pozostaje niepodłączone). Licznik przechowuje do 6 cyfr dziesiętnych. Gdy jeden z liczników (komórki pamięci od 00 do 07) jest odczytywany, zawartość wszystkich liczników jest przepisywana do zatrzasków na początku cyklu odczytu. Ten sposób zapobiega błędom w wyniku przeniesień podczas odczytu.
Do załączania zasilania diod LED niezbędne są drivery, w których roli typowo są stosowane tranzystory. Ze względu na wymaganą, dużą liczbę tranzystorów zastosowano drivery scalone typu ULN2003. Dodatkowo, użyto 2 tranzystorów typu BC327. Podświetlanie komunikatów tekstowych wykonano za pomocą diod SMD połączonych równolegle. Ich prąd jest ograniczany za pomocą rezystorów 220 Ω. Odpowiednio rozmieszczone diody mają za zadanie podświetlenie na specjalnym panelu wyrazów. Sama idea sterowania diodami jest nieskomplikowana i można ją podzielić na dwie części, tzn. część godzinową oraz część minutową. Zegar wyposażono również w buzzer, który służy jako sygnalizator akustyczny budzika.
Do wyprowadzeń PB3…PB6 dołączono diody pokazujące minuty, natomiast do PB0...PB2 doprowadzono przyciski. Zegar jest zasilany napięciem z zakresy 9…12 V DC z zewnętrznego zasilacza. Jego napięcie jest obniżane przez stabilizator LM78M05. Jego napięcie wyjściowe służy do zasilania zegara i diod LED.
Przygotowanie matrycy
Przed złożeniem matrycy należy ją odpowiednio przygotować. Od tyłu płytki należy dokleić osłony, które będą oddzielały napisy od siebie. Ja używałem do tego celu samoprzylepnego filcu pociętego na paski o szerokości 3 mm. Oddzielenie poszczególnych napisów od siebie jest konieczne, aby nie było prześwitów pomiędzy komunikatami.
Obsługa zegara
Interfejs użytkownika składa się z trzech przycisków. W trybie pracy jako zegar przyciskiem S1 włączamy lub wyłączamy obsługę budzika. Krótki pisk potwierdza wyłączenie, natomiast długi świadczy o tym że budzik został włączony. Naciskanie na przycisk S2 powoduje cykliczne przechodzenie do wyświetlania ustawionej godziny alarmu (budzenia) lub wskazań aktualnej godziny. Przyciśnięcie przycisku S3 na odpowiednim widoku powoduje wejście w tryb ustawiania zegara lub budzika. Przyciski S1 i S3 służą w tym trybie do zwiększania/zmniejszania nastawy godziny, natomiast po przyciśnięciu S2 przechodzimy do ustawienia minut, a następnie do normalnej pracy.