- wyświetlanie daty, czasu oraz temperatury otoczenia,
- funkcja budzika,
- funkcja alarmu z detekcją ruchu,
- odtwarzanie komunikatów głosowych,
- wbudowane oświetlenie LED.
Budowa i działanie
Układ elektroniczny zegara ZW-C1 składa się z bardzo popularnych elementów elektronicznych, umieszczonych na płytce drukowanej oraz obudowy, wykonanej z białego oraz czarnego szkła akrylowego. Schemat ideowy znajduje się na rysunku 1.
Głównym źródłem zasilania urządzenia jest zasilacz o napięciu wyjściowym 12 V i wydajności prądowej 1 A, który należy podłączyć do złącza Z1 za pośrednictwem gniazda, znajdującego się w tylnej części obudowy. Złącze Z2 służy do podłączenia zasilania awaryjnego w postaci sześciu baterii typu AA. Diody D1 oraz D2 zapewniają odpowiednie przełączanie obydwu źródeł energii. Włącznikiem zasilania jest stacyjka umieszczona w górnej części zegara i podłączona do złącza Z3. Układ scalony U1 to stabilizator napięcia typu LDO, który – współpracując z kondensatorami – dostarcza do układu stabilizowane napięcie o wartości 5 V. Zegar jest sterowany za pomocą mikrokontrolera ATmega16A (U2), któremu towarzyszą komponenty niezbędne do jego działania. Jedynym niestandardowym rozwiązaniem jest zastosowanie drugiego rezonatora kwarcowego, oznaczonego jako X2, o częstotliwości 32,768 kHz, dzięki któremu jest realizowany programowy zegar RTC. Złącze Z4 służy do programowania mikrokontrolera. Układ scalony ISD17240PY (U3) oraz współpracujące z nim komponenty umożliwiają nagrywanie oraz odtwarzanie komunikatów głosowych. Złącze Z5 dostarcza do układu zewnętrzny sygnał audio, natomiast do złącza Z6 jest podłączony głośnik. Złącze Z7 służy do podłączenia trzech przycisków sterujących, które znajdują się na przedniej części obudowy. Zegar oświetla otoczenie za pomocą diody LED R/B, którą należy podłączyć do złącza Z8. Zegar ma wbudowane dwa czujniki: temperatury (podłączony do złącza Z9) oraz ruchu (dla którego jest przydzielone złącze Z10). Wszystkie najważniejsze informacje są prezentowane na wyświetlaczu LCD, do podłączenia którego służy złącze Z11. Podświetlenie wyświetlacza jest sterowane za pomocą tranzystora T1. Ostatnim złączem na płytce drukowanej jest złącze Z12, dzięki któremu możliwe jest podłączenie syreny alarmowej. W tym przypadku także zastosowano tranzystor przełączający, aby syrenę alarmową zasilić napięciem 12 V pochodzącym z zasilacza.
Montaż
Ponieważ część elementów elektronicznych zegara ZW-C1 znajduje się na obudowie, montaż urządzenia należy rozpocząć od złożenia obudowy. Plik o nazwie ZW-C1_obudowa.dwg z elementami do wycięcia znajduje się na stronie [1] oraz w materiałach dodatkowych do tego artykułu, zamieszczonych na serwerze ep.com.pl. Poszczególne części obudowy należy zestawić ze sobą za pomocą odpowiednich elementów łączących. Jeden taki element składa się z czterech części, wykonanych również ze szkła akrylowego. Powinny one zostać sklejone według kolejności pokazanej na fotografii 1.
Po wykonaniu we wszystkich otworach gwintów M3, jeden z szesnastu potrzebnych elementów połączeniowych jest gotowy do montażu.
Aby ułatwić wklejenie białych oznaczeń funkcyjnych nad przyciskami sterującymi oraz rzepu samoprzylepnego do przymocowania koszyka na sześć baterii typu AA, zaprojektowano specjalny szablon pokazany na fotografii 2.
W celu przykręcenia „rąk” robota z białego szkła akrylowego, pokazanych na fotografii 3, w odpowiednich otworach należy również wykonać gwint M3.
Do dolnej części obudowy należy przykręcić gumowe stopki o średnicy 14 mm, zaprezentowane na fotografii 4. Dzięki nim zegar stabilnie stoi na podłożu.
Do przymocowania płytki drukowanej, głośnika, syreny alarmowej oraz wyświetlacza LCD zastosowano tuleje dystansowe M3×6 mm o gwincie obustronnie wewnętrznym. Na fotografiach 5 i 6 można zobaczyć więcej szczegółów dotyczących montażu obudowy zegara.
Schemat płytki drukowanej znajduje się na rysunku 2, a jej wygląd pokazuje fotografia 7.
Na stronie [1] jest dostępne archiwum ZW-C1_płytka_drukowana.rar, które zawiera wszystkie niezbędne pliki do produkcji płytki drukowanej, zapisane w formacie Gerber-RS274X. Dzięki zastosowaniu elementów THT wykonanie płytki drukowanej nie powinno sprawić żadnych trudności nawet początkującym elektronikom.
Do przymocowania głośnika oraz czujnika temperatury trzeba wykorzystać specjalne uchwyty pokazane na fotografii 8.
Po przykręceniu płytki drukowanej oraz pozostałych części elektronicznych do obudowy zegara należy wykonać pomiędzy nimi połączenia. Do określenia długości przewodów oraz sposobu ich zakończenia pomocna będzie tabela 1. Wszystkie przewody zostały zabezpieczone oplotem ochronnym.
Na fotografiach 9 i 10 można zobaczyć szczegóły wykonania wszystkich połączeń.
Oprogramowanie
Do zaprogramowania zegara ZW-C1 niezbędny jest programator USBasp. Podłącza się go do złącza Z4 na płytce drukowanej. Kod źródłowy mikrokontrolera sterującego został napisany w środowisku programistycznym BASCOM AVR. Pliki o nazwie ZW-C1.bas (kod źródłowy) oraz ZW-C1.hex (gotowy wsad binarny do pamięci procesora) są dostępne na stronie [1] oraz w materiałach dodatkowych do tego artykułu. Plik hex można wgrać do mikrokontrolera za pomocą dostępnego na stronie [1], darmowego programu AVRDUDE – pobrane archiwum należy rozpakować na dysku C. Ponieważ program AVRDUDE działa z poziomu wiersza poleceń, warto doinstalować do niego graficzną nakładkę AVR8 Burn-O-Mat, która jest dostępna do pobrania na stronie [2]. Instalacja jest intuicyjna, więc nie wymaga dodatkowego opisu, natomiast sam program AVR8 Burn-O-Mat wymaga konfiguracji. Jak pokazano na rysunku 3, w rozwijanej liście AVR type trzeba wybrać mikrokontroler ATmega16 oraz wskazać lokalizację pliku ZW-C1.hex.
W menu Settings > AVRDUDE, zgodnie z rysunkiem 4, należy także wprowadzić lokalizację programu AVRDUDE oraz wybrać programator USBasp. Po powrocie do okna głównego programu wystarczy nacisnąć przycisk Write, aby zaprogramować mikrokontroler.
Uruchomienie
Po włączeniu napięcia zasilania zegara ZW-C1 uruchomi się jego standardowy tryb pracy. Na wyświetlaczu LCD wyświetlą się otwarte oczy. Po kilku sekundach na wyświetlaczu pokazane zostaną: data, czas oraz temperatura otoczenia. Sposób wyświetlania danych pokazuje fotografia 11.
Informacje te będą wyświetlane, dopóki zegar będzie wykrywał ruch w swoim otoczeniu, w przeciwnym razie ponownie pojawią się otwarte oczy, które co kilkanaście sekund będą się na chwilę zamykać. Po naciśnięciu lewego przycisku uruchomi się tryb ustawień. Ponowne naciśnięcie lewego przycisku umożliwia wskazanie jednej z opcji: DATA, CZAS, BUDZIK, KOMUNIKATY GŁOSOWE lub KOD DOSTĘPU. Prawym przyciskiem wybiera się wskazaną opcję, a środkowym – wychodzi z trybu ustawień. Po ustawieniu daty, czasu oraz budzika następnym krokiem jest nagranie komunikatów głosowych.
W pierwszej kolejności należy za pomocą kabla stereo jack 3,5 mm połączyć ze sobą wyjście słuchawkowe smartfona oraz złącze wejściowe audio w zegarze.
Następnie trzeba wybrać opcję NAGRAJ i przytrzymując prawy przycisk, odtworzyć na smartfonie przygotowany wcześniej komunikat głosowy. Po zwolnieniu przycisku nagrywanie zostanie wstrzymane. Komunikaty głosowe muszą zostać nagrane według kolejności wskazanej w tabeli 2.
Jako pozycję numer cztery należy nagrać komunikat głosowy budzika. Treść komunikatów głosowych można modyfikować według własnego uznania, ale ich łączna długość nie może przekroczyć czterech minut. Dzięki opcji ODTWÓRZ można odsłuchać wszystkie nagrane komunikaty głosowe, zaczynając od ostatniego. Wystarczy przytrzymać prawy przycisk. Chwilowe uruchomienie opcji KASUJ usuwa ostatni komunikat. Przytrzymanie przycisku powyżej 4 sekund spowoduje skasowanie wszystkich komunikatów. Można także zresetować układ komunikatów głosowych, uruchamiając opcję RESET. Aby zegar był w pełni funkcjonalny, należy jeszcze ustawić czterocyfrowy kod dostępu. Umożliwia to opcja KOD DOSTĘPU. Po jego ustawieniu, gdy chcemy ponownie uruchomić tryb ustawień, zegar poprosi o podanie zapisanego wcześniej „hasła”. Po dokonaniu wszystkich ustawień można zacząć korzystać z zegara.
Po uruchomieniu się budzika na wyświetlaczu LCD wyświetlą się otwarte oczy, zaświeci się niebieska dioda LED oraz odtworzony zostanie komunikat głosowy budzika. Alarm wyłączy się po upływie 1 minuty. Można również przyśpieszyć tę operację, naciskając prawy przycisk. Po naciśnięciu środkowego klawisza uruchomiony zostanie tryb uśpienia: wyłączy się podświetlenie wyświetlacza LCD oraz wyświetlą się na nim zamknięte oczy. Ponowne naciśnięcie środkowego przycisku spowoduje wyjście z trybu uśpienia. Zegar wychodzi z trybu uśpienia również po uruchomieniu się budzika. Naciskając prawy przełącznik, możemy uruchomić tryb dozorcy. Warunkiem jego włączenia jest wcześniejsze ustawienie kodu dostępu – jeżeli został on wcześniej zapisany, na wyświetlaczu LCD wyświetlą się otwarte oczy oraz odtworzy się komunikat głosowy „Proszę opuścić pomieszczenie, za 20 sekund zostanie uzbrojony alarm”. Jeżeli po 20 sekundach zegar wykryje ruch w swoim otoczeniu, odtworzy się komunikat głosowy „Została naruszona prywatna strefa, proszę o podanie kodu dostępu, w przeciwnym razie zostanie uruchomiony alarm”. Na podanie kodu dostępu oraz jego akceptację użytkownik ma 10 sekund. Jeżeli po upływie tego czasu nie zostanie podany prawidłowy kod dostępu, zaświeci się czerwona dioda LED oraz uruchomi się alarm. Zegar przerwie działanie alarmu po upływie 1 minuty, a następnie ponownie go uzbroi. Więcej informacji na temat zegara ZW-C1 oraz filmy prezentujące jego możliwości znajdują się na stronie internetowej [3].
Zygmunt Wypich
zygmunt.wypich@zw-robotics.pl
[1] https://github.com/ZW-Robotics/Zegar-w-ksztalcie-robota
[2] http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.php
[3] www.zw-robotics.pl
- R1: 10 kΩ
- R2: 82 kΩ
- R3, R4: 160 Ω
- R5: 33 Ω
- R6, R7: 4,7 kΩ
- P1: potencjometr montażowy 10 kΩ
- C1, C3, C5, C9...C16, C18: 100 nF
- C7, C8: 22 pF
- C2, C4, C6: 100 μF
- C17: 4,7 μF
- D1, D2: 1N4007
- T1, T2: BC337
- U1: L4941BV
- U2: ATmega16A-PU
- U3: ISD17240PY
- Czujnik temperatury LM35DZ
- Dioda LED 5 mm R/B ze wspólną katodą
- L1: dławik 10 μH
- Z1, Z2: złącze ARK 2 pin o rastrze 5 mm
- Z3, Z5, Z6, Z12: złącze goldpin 1×2 pin
- Z4: wtyk IDC 10 pin prosty
- Z7: złącze goldpin 2×3 pin
- Z8...Z10: złącze goldpin 1×3 pin
- Z11: złącze goldpin 1×16 pin
- X1: rezonator kwarcowy 16 MHz
- X2: rezonator kwarcowy 32,768 kHz
- Koszyk na 6 baterii typu AA
- Bateria typu AA 6 szt.
- Czujnik ruchu PIR HC-SR501
- Gniazdo DC 5,5×2,5 mm
- Gniazdo jack 3,5 mm
- Głośnik 1 W 8 Ω o średnicy 50 mm
- Osłona do czujnika temperatury LM35DZ 6×30 mm
- Podstawka DIP 40 pin
- Podstawka DIP 28 pin
- Przycisk PBS26B 3 szt.
- Radiator TO220
- Stacyjka S-1091B-2
- Syrena alarmowa KPS19
- Wyświetlacz LCD 4×20 zgodny z HD44780
- Zasilacz 12 V 1 A z wtykiem DC 5,5×2,5 mm
- Śruba walcowa M2×10 mm 4 szt.
- Śruba walcowa M3×5 mm 24 szt.
- Śruba walcowa M3×8 mm 48 szt.
- Śruba walcowa M3×10 mm 4 szt.
- Śruba stożkowa M3×8 mm 1 szt.
- Nakrętka M2 4 szt.
- Nakrętka M3 1 szt.
- Tuleja dystansowa M3×6 mm o gwincie obustronnie wewnętrznym 12 szt.
- Stopka do obudowy o średnicy 14 mm 4 szt.
- Rzep samoprzylepny 50×30 mm
- Uchwyt na diodę LED RTC51
- Przewód 0,35 mm² biały 4,5 m
- Przewód 0,35 mm² czarny 4 m
- Przewód 0,35 mm² czerwony 3 m
- Oplot ochronny o średnicy 4 mm 2,5 m
- Oplot ochronny o średnicy 8 mm 0,5 m
- Osłona termokurczliwa 2,5 mm 0,1 m
- Osłona termokurczliwa 4 mm 0,3 m
- Osłona termokurczliwa 6 mm 0,1 m
- Osłona termokurczliwa 9 mm 0,1 m
- Kabel stereo jack 3,5 mm 1 m
- Pin żeński BLS 58 szt.
- Gniazdo BLS 2 pin 7 szt.
- Gniazdo BLS 3 pin 4 szt.
- Gniazdo BLS 16 pin 2 szt.
- Tulejka izolowana 0,35 mm² 4 szt.
- Opaska zaciskowa 80×3 mm 4 szt.