English version

Digitální LCD hodiny s datem a teploměrem

    Úvod:
Přináším Vám další z řady konstrukcí hodin. Jedná se o hodiny s LCD displejem, svou velmi nízkou spotřebou určené pro napájení z baterie. Kromě času však ukazují i datum, den v týdnu a teplotu. Datum umí počítat i s přestupnými roky a automaticky přepínají letní a zimní čas.
    Popis konstrukce:
Tyto multifunkční LCD hodiny jsou řízené mikroprocesorem Atmel AVR ATmega16A (případně starým ATmega16L). Program pro AVR ke stažení (ASM a HEX) a printscreen nastavení konfiguračních bitů je k dispozici níže. K zobrazování je použit velkoplošný 7-segmentový 4-místný LCD displej s vysokým kontrastem, např. RDN0001-PHN-3-000, DE 119, DE 120, DE 127 či LCD3906. LCD Displej je řízen staticky (bez multiplexu). K tomu je třeba větší množství portů. Proto jsem zvolil 40-nožičkový AVR obvod ATmega16A, případně 16L. Frekvence střídavého napětí displeje je 32Hz. Cifra 4 (zcela vlevo) je pro úsporu portů zapojena zjednodušeně, pouze na 4 vývody. Zjednodušené zapojení je možné, protože tato cifra zobrazuje jen číslice 1, 2 a 3. Segment 4f je nevyužit a proto spojen se společnou elektrodou displeje BP. Segmenty 4a, 4d, 4g jsou připojeny na jediný vývod. Pro dosažení nízké spotřeby je jako zdroj přesného času použit nízkofrekvenční krystal 32 768 Hz. Výstup krystalového oscilátoru vstupuje do čítače/časovače2, který pracuje v asynchronním režimu. CPU je taktováno z vnitřního RC oscilátoru běžícího na 1MHz. Pokud zrovna neprobíhá přerušení, CPU je v sleep módu Power Save - běží tedy jen krystalový oscilátor, ne RC oscilátor. Jako čidlo teploty IO2 byl zvolen obvod MCP9700A. Oproti oblíbenému LM35 má výhodu v mnohem menší spotřebě. Odebírá pouze cca 5uA, což je při bateriovém napájení velkým přínosem. Tyto hodiny měří teplotu v rozsahu -9 ... +150 °C, což by pro měření pokojové teploty snad mělo stačit :). Rozlišení je 1 °C. Hodiny se napájí ze tří článků 1,5V. Mohou být např. tužkové (AA), mikrotužkové (AAA) nebo knoflíkové. Lze použít i tři články NiMH či NiCd (1,2V) nebo jeden článek Li-Ion či Li-Pol (3,6V či 3,7V). Maximální napětí je 5,5V a minimální 2,7V. Celková spotřeba hodin včetně teplotního čidla je cca 16uA při 3V a 24uA při 4,5V. Kondenzátory C1, C3 a C4 umístěte co nejblíže k IO1. Do série s baterií je vhodné umístit odpor cca 150R - 1k nebo pojistku pro případ náhodného zkratu či vnitřního zkratu něketré ze součástek.
    Ovládání:
Hodiny se ovládají pomocí dvou tlačítek: Mód a "+". Mají 4 typy zobrazení, které se volí pomocí tlačítka mód:
• Zobrazení samotného času
• Střídavé zobrazení času a teploty (1s a 1s)
• Střídavé zobrazení času a data (1s a 1s)
• Postupné zobrazování všech čtyř údajů: Času (4s), dne v týdnu (2s), data (2s) a teploty (2s).
    Nařizování:
Dlouhým stiskem tlačítka mód spustíte nařizování. Poté můžete postupně nařídit všechny údaje v pořadí: Korekce rychlosti -99 až 99 ppm, vypínač automatického letního času (Au1 = zapnut, Au1 = vypnut), jazyk dne v týdnu (d:CE česky, d:En anglicky), hodiny, desítky minut, jednotky minut, sekundy, den v týdnu, den, měsíc, rok. Jednotlivé údaje se přepínají tlačítkem mód. Nastavení se provede tlačítkem "+".

Celý program ke stažení:
zdrojový kód v assembleru (ASM)
přeložený v HEX souboru (2 898 Bajtů)
Zapisování programu do AVR se podrobněji věnuji zde.

Případným zájemcům mohu naprogramovaný mikroprocesor poslat. Více info zde.


Schéma digitálních hodin s datem a teploměrem s LCD displejem a AVR ATmega16A (ATmega16L).


Nastavení konfiguračních bitů v progamu PonyProg.
(Hexadecimální hodnoty jsou Low Fuse: E1, High Fuse: D9.)


LCD hodiny.


LCD hodiny zobrazující právě teplotu.


Datum a den v týdnu.


Sletované hodiny s AVR.


Sletované hodiny z druhé strany.


Krabička pro zabudování hodin.


Probíhá vestavba hodin do krabice.








Hotové LCD hodiny v krabičce.



Přidáno: 6. 10. 2012
zpět na úvodní stránku