Kolego Rafal9018 zgodnie z obietnicą dołączam projekt mojej skromnej wersji.
Układ ten wykorzystuje biblioteki do obsługi wyświetlacza LCD hd44780 i czujnika temperatury ds18b20 ze strony
http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=8 (padanej przez Ciebie) bez żadnych modyfikacji , oprócz portów dla ATmega32 taktowanym wewnętrznym oscylatorem 8MHz. Można użyć bez problemu ATmega16. Przy ATmega8 trzeba pozmieniać porty w pliku main.c, ds18b20 i hd44780.h. Najlepiej by przyciski były na jednym porcie (potrzeba 5 pinów), oraz cały port dla wyświetlacza LCD (4 piny dla D4, D5, D6, D7, 3 dla RS, RW, E oraz 1 dla podświetlenia wyświetlacza).
Ogólnie jest to tylko przykład jak można poradzić sobie z wyświetlaniem temperatury, czasu, ustawiania czasu czy włączenia/wyłączenia podświetlenia wyświetlacza wykorzystująć obsługe przycisków p. Mirka ze strony
http://mirekk36.blogspot.co.uk/2012/10/obsuga-klawiszy-zwoka-czasowa-cd3.html (również celowo bez żadnej modyfikacji funkcji, wykorzystano tutaj tylko reakcję na krótkie wciśnięcie przycisku), timerów programowych oraz prostego "menu".
Celowo nie wykorzystuję tutaj bibliotek z książki BB ani zewnętrznego kwarcu do taktowania procesora myśląć o tych, którzy jeszcze nie mają BB czy kwarcu.
Dodam, że wykorzystywana jest tutaj funkcja sprintf (pamięciożerna, która nie jest zalecana dla AVR), dlatego trzeba "dokonać" pewnej modyfikacji projektu by poprawnie wyświetlało nam zmienną float zamiast "?". Warto poczytać:
http://mirekk36.blogspot.co.uk/2013/04/eclipse-nie-dziaa-mi-printf-dla-float.html. Można poprawnie wyświetlać temperaturę nie korzystając z niej! Zapraszam do BB.
Zegarek ten jest bardzo niedokładny, dodany jako opcja tylko i wyłącznie dla celów "edukacyjnych". W praktyce stosuje się specjalizowanie układy RTC np DS3231. Warto odwiedzić stronę:
http://mirekk36.blogspot.co.uk/2013/11/rtc-ds3231-najdokadniejszy-zegarek-na.htmlKolego Rafal9018 mam nadzieję, że Ci się to przyda i pomoże w rozwoju Twojego projektu, który obiecałeś pokazać niebawem w dziale DIY.
