
Zegar + termometr DS18B20 - ATtiny 2313 - LED
Wykonany na ATtiny 2313. Znane podobne zegary oparto na Atmega 8
i LCD. Program napisany w Bascom. Pracuje bez zarzutu.







Opis układu:
Jest to prosty zegar z termometrem, łatwy w obsłudze i tani. Wyświetlacz LED pozwala na podgląd z odległości kilku metrów. Czas wyświetlany jest w formacie 24-godzinnym. Przy wskazaniach godzin mniejszych od 10 gaszony jest wyświetlacz oznaczony na rysunku jako W1000 n.p 9:01. Godziny ustawiane są przyciskiem S1 z zakresu 0-23, a minuty przyciskiem S2 w zakresie od 0-59. Na schemacie opisane odwrotnie, ale to bez znaczenia bo jeden ustawia godziny, a drugi ustawia minuty.
Przy naciśniętym i przytrzymanym przycisku następuje automatyczne przemiatanie cyfr. Możliwe jest ustawianie cyfr w sposób impulsowy. Każdorazowe ustawianie minut (tylko) zeruje licznik sekund. Zerowanie liczby sekund następuje także o godzinie 0:00. Kropka zegara świeci non-stop. Taki wariant wybrałem również ze względu na oszczędność pamięci procesora. Oba przyciski umieściłem w górnej pokrywie po stronie wyświetlaczy.
Dokładność wskazań testowałem porównując zmianę minut na zegarze komputera ze zmianą minut na moim zegarze startując swój czasomierz od zera na sekundniku zegara komputera. Po tygodniu różnica wynosiła 1s. Wiem, że nie jest to najlepszy sposób na sprawdzanie zegara, ale nawet gdyby różnica byłaby większa to zegar spełnia moje wymagania.
Mierzoną temperaturę z zakresu 0-99 stopni Celsjusza wyświetlają wyświetlacze W100 i W10 ze znakiem stopnia na W1. Przy temp. niższej od 10 stopni Celsjusza zero nie jest wygaszone n.p 08° (oszczędzanie pamięci µP). Ponadto urządzenie z założenia ma służyć jako termometr pokojowy (10° - 40°).
Czujnik temperatury DS18B20 umieściłem na przewodzie ~10cm. Pierwotnie planowany był w obudowie, jednakże po testach wynik okazał się być mocno zafałszowany. Temperatura wyświetlana jest jako liczba całkowita n.p 34°, ale można po zmianie kodu wyświetlić tak: 34.7°. Mnie taka dokładność nie jest potrzebna. Tolerancja ± 1°C w moim przypadku jest zadowalająca. Przy temp.
przykładowo 23°C może wyświetlić 22°C lub 24°C albo właściwą temperaturę.
Przy braku lub uszkodzeniu czujnika DS18B20 wyświetlany jest "napis" Er° do czasu usunięcia awarii.
Do testów porównawczych używałem termometru spirytusowego. Wyniki pomiarów były zbliżone. Wskazania różniły się nawet o 2°C w zależności od wielkości temperatury. Biorąc pod uwagę tolerancję obu termometrów jest to możliwe, ale jak napisałem wyżej mnie to pasuje. Aktualna godzina wyświetlana jest naprzemiennie z temperaturą przez 6 s dla godziny i 3 s dla temperatury.
Układ wykonany metodą "szycia" na płytce uniwersalnej w wersji przewlekanej. Wyświetlacze i przyciski z płytką połączone przewodami. Wyświetlacz lekko odchylony ku tyłowi umieściłem za filtrem czerwonym czoła obudowy. Nachylenie pozwala na lepszy odczyt wartości. Płytkę, wyświetlacze i przyciski umieściłem w obudowie Z5 usuwając środkowy kołek mocujący.
Od spodu obudowy pod wyświetlaczami umieściłem dwie nóżki by dodatkowo nachylić wyświetlacze. Do zasilania użyłem zasilacza wtyczkowego 12VDC 1,2A.
Elementy i połączenia oznaczone gwiazdką na schemacie nie występują.
W zasilaczu na płytce zamiast diody prostowniczej użyłem mostka Gretza.
Celem uzupełnienia opisów sterowania segmentów wyświetlaczy:
PORTB.0 - a; PORTB.1 - b; PORTB.2 - c; PORTB.3 - d; PORTB.4 - e; PORTB.5 - f;
PORTB.6 - g; PORTB.7 - kropka.
Spis elementów:
1. obudowa Z5 - 1 szt.
2. filtr czerwony do obudowy Z5 - 1 szt.
3. zasilacz wtyczkowy 12V DC / 1,2A - 1 szt.
4. mostek Gretza 2A / 700V - 1 szt.
5. kondensator elektrolityczny 470 µF/25V - 1 szt.
6. kondensator elektrolityczny 47 µF/16V - 1 szt.
7. kondensator odsprzęgający 100 nF - 4 szt.
8. stabilizator LM7805 - 1 szt. dodano: lepszy LM 1117-5.0
9. procesor ATtiny 2313 - 1 szt.
10. czujnik temperatury DS18B20 - 1 szt.
11. tranzystor BC557 - 4 szt.
12. czterosegmentowy wyświetlacz LED - 1 szt.
13. kwarc niski 4 MHz - 1 szt.
14. kondensator ceramiczny 33p - 2 szt.
15. rezystor 100R - 8 szt.
16. rezystor 3k3 - 4 szt.
17. rezystor 4k7 - 1 szt.
18. rezystor 10k - 1 szt.
19. mikroswitch - 2 szt.
Program napisałem w BASCOM-e.
Cool? Ranking DIY