Projekty/

Zegar w kształcie robota

Zegar to ważne wyposażenie każdego domu. Różnego rodzaju zegary można kupić praktycznie w każdym supermarkecie, jednak wiele satysfakcji sprawia zbudowanie go samemu. Zaprojektowany przeze mnie zegar jest w kształcie robota i nazywa się ZW-C1. Dysponuje on następującymi funkcjami:
– wyświetla aktualną datę, czas oraz temperaturę otoczenia,
– posiada funkcję budzika,

– odtwarza komunikaty głosowe,
– wykrywa ruch w swoim otoczeniu,
– sygnalizuje zdarzenia za pomocą syreny alarmowej,
– oświetla otoczenie za pomocą diody LED.

Dzięki tym funkcjom zegar ZW-C1 jest atrakcyjniejszy niż komercyjne rozwiązania.

Opis budowy zegara podzieliłem na następujące części:
– konstrukcja mechaniczna,
– układ elektroniczny,

– oprogramowanie,
– uruchomienie.

Wszystkie części szczegółowo opisałem, aby zegar potrafili zbudować także początkujący elektronicy.

Konstrukcja mechaniczna

Obudowa zegara ZW-C1 jest wykonana z czarnego oraz białego szkła akrylowego. Plik o nazwie ZW-C1_obudowa.dwg z elementami do wycięcia znajduje się na stronie https://github.com/ZW-Robotics/Zegar-w-ksztalcie-robota . Wystarczy wysłać go do firmy zajmującej się laserowym cięciem szkła akrylowego.

Potrzebne są także elementy montażowe.

Pracę rozpocznij od wykonania elementów połączeniowych dzięki którym połączysz ze sobą części ze szkła akrylowego, tworząc obudowę zegara. Jeden element połączeniowy składa się z czterech części również ze szkła akrylowego.

Części te sklej ze sobą za pomocą kleju do szkła akrylowego według odpowiedniej kolejności.

Używając gwintownika we wszystkich otworach wykonaj gwint na śrubę M3. Po tej czynności jeden z szesnastu potrzebnych elementów połączeniowych jest gotowy do montażu. Wszystkie opisane powyżej czynności wykonaj starannie, źle sklejona część może się odkleić lub popękać, a błędnie wykonany gwint uniemożliwi prawidłowe wkręcenie śruby.

Montaż obudowy zegara zacznij od przyklejenia na przedniej części tułowia symboli z białego szkła akrylowego. Wykorzystaj do tego celu klej do szkła akrylowego oraz specjalnie zaprojektowany szablon.

Ten sam szablon wykorzystaj do umieszczenia na lewej części tułowia rzepa samoprzylepnego o wymiarach 50 x 30 mm.

Następnie przykręć za pomocą śrub walcowych M3 x 8 mm na lewej oraz prawej części tułowia i lewej oraz prawej części głowy wykonane elementy połączeniowe.

Używając gwintownika w pozostałych otworach na lewej oraz prawej części tułowia wykonaj gwint na śrubę M3. Następnie za pomocą śrub walcowych M3 x 8 mm przykręć ręce z białego szkła akrylowego.

W odpowiednie miejsca za pomocą śrub walcowych M3 x 5 mm na dolnej, przedniej i tylnej części tułowia oraz przedniej części głowy przykręć tuleje dystansowe M3 x 6 mm o gwincie obustronnie wewnętrznym.

Za pomocą śrub walcowych M3 x 8 mm do dolnej części tułowia przykręć stopki do obudowy o średnicy 14 mm. Wykonując tę czynność połączysz ze sobą dolną, lewą oraz prawą część tułowia.

Wykorzystując śruby M3 x 10 mm połącz ze sobą górną cześć tułowia z dolną, lewą oraz prawą częścią głowy.

Za pomocą śrub walcowych M3 x 8 mm połącz ze sobą pozostałe części tułowia oraz głowy.

 Zachowaj pozostałe części ze szkła akrylowego oraz elementy montażowe, wykorzystasz je do przymocowania części układu elektronicznego do obudowy zegara.

Układ elektroniczny

Układ elektroniczny zegara ZW-C1 składa się z bardzo popularnych części elektronicznych, które umieściłem na płytce drukowanej oraz obudowie. Na stronie https://github.com/ZW-Robotics/Zegar-w-ksztalcie-robota jest dostępne archiwum ZW-C1_płytka_drukowana.rar, które zawiera wszystkie niezbędne pliki do produkcji płytki drukowanej. Pliki zostały zapisane w formacie Gerber-RS274X, który jest wymagany przez producentów płytek drukowanych. Aby prawidłowo przylutować elementy elektroniczne do płytki drukowanej wykorzystaj schemat ideowy i montażowy oraz wykaz części.

Za pomocą śrub walcowych M3 x 5 mm przykręć wykonaną płytkę drukowaną do tulei dystansowych znajdujących się na dolnej części tułowia.

Wykonaj teraz połączenia przewodowe pomiędzy płytką drukowaną i częściami elektronicznymi znajdującymi się na obudowie. Skompletuj odpowiednie części elektroniczne wykorzystując do tego celu wykazy części.

Wykonaj połączenia do gniazda DC 5,5 x 2,5 mm, następnie przykręć je do tylnej części tułowia. Przewody podłącz do złącza Z1 na płytce drukowanej.

Zmodyfikuj połączenia do koszyka na 6 baterii typu AA, następnie przymocuj go za pomocą rzepa samoprzylepnego do lewej części tułowia. Przewody podłącz do złącza Z2 na płytce drukowanej.

Wykonaj połączenia do stacyjki S-1091B-2, następnie przykręć ją do górnej części głowy. Przewody podłącz do złącza Z3 na płytce drukowanej. Wykorzystując tego typu włącznik zasilania, tylko ty możesz włączyć lub wyłączyć zegar ZW-C1.

Wykonaj połączenia do gniazda Jack 3,5 mm, następnie przykręć je do przedniej części tułowia. Przewody podłącz do złącza Z5 na płytce drukowanej.

Wykonaj połączenia do głośnika, następnie wykorzystując klej, przyklej go do specjalnie zaprojektowanej części ze szkła akrylowego. Całość za pomocą śrub walcowych    M3 x 5 mm przykręć do tulei dystansowych znajdujących się na przedniej części tułowia. Przewody podłącz do złącza Z6 na płytce drukowanej.

Wykonaj połączenia do przełączników ON-OFF chwilowych PBS26B w kolorze czarnym, następnie przykręć je do przedniej części tułowia. Przewody podłącz do złącza Z7 na płytce drukowanej.

Wykonaj połączenia do diody LED 5 mm R/B ze wspólną katodą, następnie przymocuj ją do górnej części głowy za pomocą uchwytu na diodę LED RTC51. Przewody podłącz do złącza Z8 na płytce drukowanej.

Wykonaj połączenia do czujnika temperatury LM35DZ i umieść go w osłonie o wymiarach 6 x 30 mm, następnie wykorzystując klej, przyklej go do specjalnie zaprojektowanej części ze szkła akrylowego. Całość za pomocą śrub walcowych M2 x 10 mm oraz nakrętek przykręć do górnej części głowy. Przewody podłącz do złącza Z9 na płytce drukowanej.

Wykonaj połączenia do czujnika ruchu PIR HC-SR501, następnie za pomocą śrub walcowych M2 x 10mm oraz nakrętek przykręć go do górnej części głowy. Przewody podłącz do złącza Z10 na płytce drukowanej.

Przylutuj do wyświetlacza LCD 4 x 20 znaków złącza kołkowe męskie i wykonaj do niego połączenia. Wymiary 15 mm na rysunku poniżej określają długości środkowych przewodów. Następnie za pomocą śrub walcowych M3 x 5 mm przykręć go do tulei dystansowych znajdujących się na przedniej części głowy. Przewody podłącz do złącza Z11 na płytce drukowanej.

Zmodyfikuje połączenia do syreny alarmowej KPS19, następnie za pomocą śrub walcowych M3 x 5 mm przykręć ją do tulei dystansowych znajdujących się na tylnej części tułowia. Przewody podłącz do złącza Z12 na płytce drukowanej.

Do koszyka na 6 baterii typu AA włóż baterie. Jest to zasilanie awaryjne zegara ZW-C1.

Podłącz zasilacz o napięciu 12 V i prądzie 1 A z wtykiem 5,5 x 2,5 mm. 

Przed podłączeniem zasilacza do sieci energetycznej 230 V sprawdź, czy jego obudowa nie posiada uszkodzeń mechanicznych. Jeżeli jesteś osobą niepełnoletnią, podłączenie przeprowadź w obecności osoby dorosłej.

Na szczegółowych zdjęciach możesz zobaczyć sposób wykonania wszystkich połączeń.

Oprogramowanie

Do zaprogramowania zegara ZW-C1 niezbędny jest programator USBasp. Podłącz go do złącza Z4 na płytce drukowanej.

Kod źródłowy dla mikrokontrolera sterującego zegarem ZW-C1 napisałem w środowisku programistycznym BASCOM AVR. Jeżeli znasz ten język programowania i posiadasz pełną wersję programu BASCOM AVR, na stronie https://github.com/ZW-Robotics/Zegar-w-ksztalcie-robota znajduje się plik ZW-C1.bas, dzięki któremu zaprogramujesz mikrokontroler. Na tej samej stronie znajduje się też plik ZW-C1.hex za pomocą którego także możesz zaprogramować mikrokontroler, ale zamiast płatnego programu BASCOM AVR wykorzystasz darmowy programy AVRDUDE. Ponieważ program AVRDUDE działa z poziomu wiersza poleceń, warto też zainstalować dla niego graficzną nakładkę AVR8 Burn-O-Mat. W dalszym opisie skupię się na drugim rozwiązaniu.

Program AVRDUDE pobierz ze strony https://github.com/ZW-Robotics/Zegar-w-ksztalcie-robota . Pobrane archiwum rozpakuj na dysku C.

Graficzna nakładka AVR8 Burn-O-Mat jest do pobrania na stronie http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.php . Instalacja jest intuicyjna, więc nie wymaga dodatkowego opisu.

Program AVR8 Burn-O-Mat wymaga konfiguracji. W rozwijanej liście AVR type wybierz mikrokontroler ATmega16.

W menu Settings > AVRDUDE wprowadź lokalizację programu AVRDUDE. Wybierz także odpowiedni typ programatora.

Aby zaprogramować mikrokontroler, w polu Flash kliknij na przycisk File i wybierz plik ZW-C1.hex. Po kliknięciu na przycisk Write mikrokontroler zostanie zaprogramowany.

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 LCD wyświetli się data, czas oraz temperatura otoczenia. Dane te będą wyświetlane, dopóki zegar ZW-C1 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ć.

Naciskając lewy przełącznik uruchom tryb ustawień w celu dokonania podstawowych ustawień. Ponownie naciskając lewy przełącznik wskaż jedną z opcji: DATA, CZAS, BUDZIK, KOMUNIKATY GŁOSOWE lub KOD DOSTĘPU. Naciskając prawy przełącznik wybierz wskazaną opcję. Naciskając środkowy przełącznik wyjdź z trybu ustawień.

Po wybraniu opcji DATA, ustaw dzień, miesiąc oraz rok. Naciskając lewy przełącznik wskaż pozycję do modyfikacji. Naciskając prawy przełącznik zmodyfikuj wskazaną pozycję. Naciskając środkowy przełącznik wyjdź z opcji DATA.

Po wybraniu opcji CZAS, ustaw godziny oraz minuty. Naciskając lewy przełącznik wskaż pozycję do modyfikacji. Naciskając prawy przełącznik zmodyfikuj wskazaną pozycję. Naciskając środkowy przełącznik wyjdź z opcji CZAS.

Po wybraniu opcji BUDZIK, ustaw godziny, minuty oraz włącz lub wyłącz budzik. Naciskając lewy przełącznik wskaż pozycję do modyfikacji. Naciskając prawy przełącznik zmodyfikuj wskazaną pozycję. Naciskając środkowy przełącznik wyjdź z opcji BUDZIK. Po uruchomieniu się budzika na wyświetlaczu LCD wyświetlą się otwarte oczy, zaświeci się niebieska dioda LED oraz odtworzy się komunikat głosowy budzika. Budzik wyłączy się po upływie 1 minuty. Możesz również przyśpieszyć tę operację naciskając prawy przełącznik.

Po wybraniu opcji KOMUNIKATY GŁOSOWE, możesz nagrać, odtworzyć oraz skasować komunikaty głosowe. Możesz również wykonać funkcję reset.

W celu nagrania komunikatów głosowych, w pierwszej kolejności za pomocą kabla stereo Jack 3,5 mm o prostych wtykach i długości 1 m połącz ze sobą złącze wyjściowe audio w smartfonie, tablecie lub komputerze oraz złącze wejściowe audio w zegarze ZW-C1.

Komunikaty głosowe nagraj według odpowiedniej kolejności. Jako pozycję numer cztery nagraj komunikat głosowy budzika. Treść komunikatów głosowych możesz modyfikować według własnego uznania, ale ich łączna długość nie może przekroczyć 4 minuty. 

Aby nagrać komunikaty głosowe, naciskając lewy przełącznik wskaż pozycję NAGRAJ. Naciskając prawy przełącznik i przytrzymując go, jednocześnie odtwórz na smartfonie, tablecie lub komputerze przygotowany wcześniej komunikat głosowy. Puszczając prawy przełącznik nagrywanie zostanie zatrzymane. Nagraj w ten sposób wszystkie komunikaty. Po wyłączeniu napięcia zasilania nagrane komunikaty głosowe nie ulegną skasowaniu. Naciskając środkowy przełącznik wyjdź z opcji KOMUNIKATY GŁOSOWE.

Aby odtworzyć komunikaty głosowe, naciskając lewy przełącznik wskaż pozycję ODTWÓRZ. Naciskając prawy przełącznik i przytrzymując go, odtworzysz komunikaty głosowe jeden za drugim zaczynając od ostatniego. Naciskając środkowy przełącznik wyjdź z opcji KOMUNIKATY GŁOSOWE.

Aby skasować komunikaty głosowe, naciskając lewy przełącznik wskaż pozycję KASUJ. Naciskając prawy przełącznik skasujesz ostatni komunikat. Naciskając prawy przełącznik i przytrzymując go na minimum 4 sekundy skasujesz wszystkie komunikaty. Naciskając środkowy przełącznik wyjdź z opcji KOMUNIKATY GŁOSOWE.

Aby wykonać funkcję reset, naciskając lewy przełącznik wskaż pozycję RESETUJ. Naciskając prawy przełącznik zresetujesz układ komunikatów głosowych. Po zresetowaniu układu komunikatów głosowych, nagrane komunikaty głosowe nie ulegną skasowaniu. Naciskając środkowy przełącznik wyjdź z opcji KOMUNIKATY GŁOSOWE.

Po wybraniu opcji KOD DOSTĘPU, ustaw czterocyfrowy kod dostępu. Naciskając lewy przełącznik wskaż pozycję do modyfikacji. Naciskając prawy przełącznik zmodyfikuj wskazaną pozycję. Naciskając środkowy przełącznik wyjdź z opcji KOD DOSTĘPU. Po ustawieniu kodu dostępu, chcąc ponownie uruchomić tryb ustawień, zegar ZW-C1 poprosi cię o jego podanie.

Po dokonaniu podstawowych ustawień zacznij korzystać z zegara ZW-C1. Naciskając środkowy przełącznik możesz uruchomić tryb uśpienia. Wyłączy się podświetlenie wyświetlacza LCD oraz wyświetlą się na nim zamknięte oczy. Ponownie naciskając środkowy przełącznik wyjdź z trybu uśpienia. Zegar ZW-C1 wychodzi z trybu uśpienia również po uruchomieniu się budzika.

Naciskając prawy przełącznik możesz uruchomić tryb dozorcy. Warunkiem jego uruchomienia jest wcześniejsze ustawienie kodu dostępu. Jeżeli kod dostępu został wcześniej ustawiony, 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 ZW-C1 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ę masz 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 ZW-C1 przerwie działanie alarmu po upływie 1 minuty, a następnie ponownie go uzbroi.

W razie pytań dotyczących budowy zegara ZW-C1 możesz napisać do mnie e-mail na adres zygmunt.wypich@zw-robotics.pl