WITAM
Wiem, że różnego rodzaju zegarków było już wiele na tym forum, jednak ja chciałbym przedstawić swój ze względu na kilka ciekawych rozwiązań i funkcji, które inne zegarki z pewnością nie posiadają
Zacznę może od hardware'u a potem opiszę, które z urządzeń wykorzystuje napisany przeze mnie program. [Program będzie jeszcze rozbudowywany, dlatego narazie nie które urządzenia wewnętrzne nie zostały wykorzystane.]
Więc tak...
Urządzenie jest zbudowane przy użyciu dwóch mikrokontrolerów typu '8051 (89S53 oraz pomocniczy 89C2051), które komunikują się ze sobą za pomocą trzech pinów. Główny mikrokontroler wlutowany jest we wcześniej zaprojektowaną płytkę uniwersalną. Wraz z nim na pokładzie znajdują się jeszcze PCF8583, 24C64, kwarc 12MHz, buzzer, zasilacz. Większą jednak część pinów I/O zajmują gniazdka wejścia/wyjścia, które są przystosowane do podłączenia odbiornika IR, magistrali 1-Wire, klawiaturki składającej się z przycisków impulsowych, klawiatury PC, drugiego procka itp. Oprócz tego do główny procesor może jeszcze sterować wyświetlaczem LCD 20 * 4, jak i jego podświetlaniem, dwoma diodami led umieszczonymi od spodu obudowy, wyjściem 12V np. na przekaźnik. Urządzenie posiada także stacyjkę na kluczyk, która również jest podłączona do uC.
Drugi mikrokontroler zajmuje się sterowaniem czterocyfrowego wyświetlacza LED.
Wyprowadzone zostało gniazdo do podłączenia programatora ISP.
Zegar RTC PCF8583 w przypadku braku zasilania z sieci jest podtrzymywany z baterii 3V.
Teraz czas na program
Głównym założeniem przy pisaniu prgoramu było wyświetlanie czasu, na kilka ciekawych sposobów.
Mimo to nie ma możliwości ustawienia zegarka z poziomu przycisków czy pilota Rc5. Trzeba to zrobić z komputera
Zaoszczędziłem w ten sposób miejsce w pamięci Flash.
Po włączeniu zasilania, gdy kluczyk jest w pozycji odblokowanej (przekręcony w prawo) następuje wyświetlenie komunikatu powitalnego poczym odczytanie czasu i daty oraz flagi alarmu z zegarka, przekazanie godzin i minut na wyświetlacze LED i przejście do normalnej pracy. W takim stanie urządzenie pokazuje informacje o czasie (na LCD i LED), dacie, dniu tygodnia, oraz temperaturach z trzech podłączonych termometrów typu DS18B20. Ja zamontowałem po jednym termometrze w pokoju, na zewnątrz i w komputerze.
Podczas tego trybu pracy zegara można ustawić:
- budzik (przycisk na samym dole)
- włączyć lub wyłączyć sygnalizację dźwiękową (ikonka głośniczka na lcd) (nie dotyczy budzika, oznacza to, że jeśli nawet sygnalizacja dźwiękowa jest wyłączona - budzik nadal może wydawać dźwięki), sygnalizacja dźwiękowa informuje odpowiednio długim sygnałem lub odpowiednią kombinacją sygnałów o równej minucie, równej godzinie, zbyt niskiej temperaturze w pokoju itp.
- włączyć lub wyłączyć podświetlanie LCD (drugi przycisk od góry)
- uaktywnić bądź dezaktywować budzik (ikonka dzwonka na lcd)
Wszystkimi tymi funkcjami (oprócz ustawiania godziny budzika) można sterować z pilota RC5.
Gdy przekręcimy kluczyk w lewo nie ma możliwości sterowania powyższymi funkcjami (nawet z pilota Rc5), wyłącza się odczyt temperatury z termometrów. NAtomiast na wyświetlaczu LCD pokazuje się ciekawy pełnoekranowy zegar wskazujący godziny i minuty
W tym trybie (gdy nie dzwoni budzik
) moża wyłączyć lub wyłączyć wyświetlacz LED. Można również sobie zagrać w dośc ciekawą grę (drugi przycisk od góry)
Uruchomienie gry powoduje ukazanie się jej ekranu powitalnego. Gra polega na tym, że trzeba rozbroić bombę w ciągu 2,5s. Żeby to zrobić trzeba przycisnąć jeden z trzech przycisków. Jeden przycisk rozbraja, dwa... powodują wybuch, czemu towarzyszy dźwięk brzęczka (jesli został on wcześniej włączony ^ sygnalizacja dźwiękowa opisane wyżej). Przyciski są wybierane losowo przez mikroprocesor za pomocą licznika timer1.
Aby wyjść z gry wystarczy kliknąć przycisk na samym dole.
Jeśli w tym trybie (z przekręconym kluczykiem w lewo) włączy się budzik to mamy kilka wyjść
Można poprostu wyłączyć budzik pierwszym przyciskiem od góry, można też opóźnić kolejny alarm o 9 minut (tak zwana drzemka). Wyłączyć budzik lub opóźnić alarm o 9 minut można także pilotem RC5.
Program został napisany i skompilowany w BASCOM 8051 i zajmuje 9092 bajty.
Do opisu dołączam program, zdjęcia i filmik
Jeżeli chcesz to skomentuj proszę mój "wynalazek"
Pozdrawiam
PS>>
Nie przejmujcie sie taką dużą temperaturą na zewnątrz. W jaworznie tak samo jak gdzie indziej w polsce nie ma jeszcze wiosny
To tylko skutki działania promieni słonecznych na termometr
Wiem, że różnego rodzaju zegarków było już wiele na tym forum, jednak ja chciałbym przedstawić swój ze względu na kilka ciekawych rozwiązań i funkcji, które inne zegarki z pewnością nie posiadają
Zacznę może od hardware'u a potem opiszę, które z urządzeń wykorzystuje napisany przeze mnie program. [Program będzie jeszcze rozbudowywany, dlatego narazie nie które urządzenia wewnętrzne nie zostały wykorzystane.]
Więc tak...
Urządzenie jest zbudowane przy użyciu dwóch mikrokontrolerów typu '8051 (89S53 oraz pomocniczy 89C2051), które komunikują się ze sobą za pomocą trzech pinów. Główny mikrokontroler wlutowany jest we wcześniej zaprojektowaną płytkę uniwersalną. Wraz z nim na pokładzie znajdują się jeszcze PCF8583, 24C64, kwarc 12MHz, buzzer, zasilacz. Większą jednak część pinów I/O zajmują gniazdka wejścia/wyjścia, które są przystosowane do podłączenia odbiornika IR, magistrali 1-Wire, klawiaturki składającej się z przycisków impulsowych, klawiatury PC, drugiego procka itp. Oprócz tego do główny procesor może jeszcze sterować wyświetlaczem LCD 20 * 4, jak i jego podświetlaniem, dwoma diodami led umieszczonymi od spodu obudowy, wyjściem 12V np. na przekaźnik. Urządzenie posiada także stacyjkę na kluczyk, która również jest podłączona do uC.
Drugi mikrokontroler zajmuje się sterowaniem czterocyfrowego wyświetlacza LED.
Wyprowadzone zostało gniazdo do podłączenia programatora ISP.
Zegar RTC PCF8583 w przypadku braku zasilania z sieci jest podtrzymywany z baterii 3V.
Teraz czas na program
Głównym założeniem przy pisaniu prgoramu było wyświetlanie czasu, na kilka ciekawych sposobów.
Mimo to nie ma możliwości ustawienia zegarka z poziomu przycisków czy pilota Rc5. Trzeba to zrobić z komputera
Zaoszczędziłem w ten sposób miejsce w pamięci Flash.
Po włączeniu zasilania, gdy kluczyk jest w pozycji odblokowanej (przekręcony w prawo) następuje wyświetlenie komunikatu powitalnego poczym odczytanie czasu i daty oraz flagi alarmu z zegarka, przekazanie godzin i minut na wyświetlacze LED i przejście do normalnej pracy. W takim stanie urządzenie pokazuje informacje o czasie (na LCD i LED), dacie, dniu tygodnia, oraz temperaturach z trzech podłączonych termometrów typu DS18B20. Ja zamontowałem po jednym termometrze w pokoju, na zewnątrz i w komputerze.
Podczas tego trybu pracy zegara można ustawić:
- budzik (przycisk na samym dole)
- włączyć lub wyłączyć sygnalizację dźwiękową (ikonka głośniczka na lcd) (nie dotyczy budzika, oznacza to, że jeśli nawet sygnalizacja dźwiękowa jest wyłączona - budzik nadal może wydawać dźwięki), sygnalizacja dźwiękowa informuje odpowiednio długim sygnałem lub odpowiednią kombinacją sygnałów o równej minucie, równej godzinie, zbyt niskiej temperaturze w pokoju itp.
- włączyć lub wyłączyć podświetlanie LCD (drugi przycisk od góry)
- uaktywnić bądź dezaktywować budzik (ikonka dzwonka na lcd)
Wszystkimi tymi funkcjami (oprócz ustawiania godziny budzika) można sterować z pilota RC5.
Gdy przekręcimy kluczyk w lewo nie ma możliwości sterowania powyższymi funkcjami (nawet z pilota Rc5), wyłącza się odczyt temperatury z termometrów. NAtomiast na wyświetlaczu LCD pokazuje się ciekawy pełnoekranowy zegar wskazujący godziny i minuty
W tym trybie (gdy nie dzwoni budzik
Uruchomienie gry powoduje ukazanie się jej ekranu powitalnego. Gra polega na tym, że trzeba rozbroić bombę w ciągu 2,5s. Żeby to zrobić trzeba przycisnąć jeden z trzech przycisków. Jeden przycisk rozbraja, dwa... powodują wybuch, czemu towarzyszy dźwięk brzęczka (jesli został on wcześniej włączony ^ sygnalizacja dźwiękowa opisane wyżej). Przyciski są wybierane losowo przez mikroprocesor za pomocą licznika timer1.
Aby wyjść z gry wystarczy kliknąć przycisk na samym dole.
Jeśli w tym trybie (z przekręconym kluczykiem w lewo) włączy się budzik to mamy kilka wyjść
Można poprostu wyłączyć budzik pierwszym przyciskiem od góry, można też opóźnić kolejny alarm o 9 minut (tak zwana drzemka). Wyłączyć budzik lub opóźnić alarm o 9 minut można także pilotem RC5.
Program został napisany i skompilowany w BASCOM 8051 i zajmuje 9092 bajty.
Do opisu dołączam program, zdjęcia i filmik
Jeżeli chcesz to skomentuj proszę mój "wynalazek"
Pozdrawiam
PS>>
Nie przejmujcie sie taką dużą temperaturą na zewnątrz. W jaworznie tak samo jak gdzie indziej w polsce nie ma jeszcze wiosny
To tylko skutki działania promieni słonecznych na termometr
Fajne? Ranking DIY