English version

Nejjednodušší LED budík s AVR

    Úvod:
Toto je asi nejjednodušší možny digitální LED budík. Cílem bylo nacpat co nejvíce funkcí do co nejjednoduššího hardwaru, podobného Nejjednodušším hodinám. Kromě času a 3 typů budíku umí toto zařízení i ukazovat datum a den v týdnu. Datum umí počítat i s přestupnými roky a automaticky přepíná letní a zimní čas. Jas LED displeje je nastavitelný.
    Popis konstrukce:
Základem budíku je mikroprocesor Atmel AVR ATTiny2313A (ATTiny2313, ATTiny2313V), program ke stažení a nastavení bitů je k dispozici níže. K zobrazení času slouží čtyřmístný LED displej. Katody displeje jsou připojeny na port B, anody na bity 0, 1, 4 a 6 portu D. Použití vysocesvítivého displejě umožňuje vypustit obvyklé tranzistory zesilující proud. Displej je řízen multiplexně (maticově). Je tvořen čtyřmi jednomístnými sedmisegmentovými LED displeji se společnou anodou, např LD-S056UPG-C. Druhý a čtvrtý displej z prava jsou umístěny "hlavou dolů", takže tečka druhého tvoří druhou tečku dvojtečky a tečka čtvrtého tvoří indikátor budíku. Otočení zobrazené číslice je řešeno hardwarově (prohozeny segmenty a-d, b-e, c-f). Port PB0 je tedy například spojen se všemi segmenty umístěnými nahoře. Hodiny se napájí ze zdroje cca 5V. ATTiny2313 pracuje od 2,7V, ATTiny2313A a ATTiny2313V pracují už od 1,8V. Při takto malém napětí displej sice svítit nebude, ale mohlo by se to hodit při přidávání zálohovací baterie. Odběr při 5V je cca 15-30mA v závislosti od počtu svítících segmentů (většinu odběru tvoří spotřeba LED displeje). Hodiny jsou řízeny krystalem 4MHz. Změna C1 a C2 umožňuje jemně doladit rychlost chodu (menší hodnota - rychlejší chod). Kondenzátor C3 umístěte co nejblíže IO1.
    Ovládání:
Hodiny se ovládají pomocí dvou tlačítek: "Mód" a "+". Tlačítko "Mód" postupně přepíná 3 typy zobrazení a 4 kroky nastavení budíku:
• Postupné zobrazování času, dne v týdnu a data.
• Střídavé zobrazení času a data
• Zobrazení samotného času
• Nastavení budíku - hodina
• Nastavení budíku - desítky minut
• Nastavení budíku - jednotky minut
• Volba typu budíku - vypnutý (0) / jednorázový (1) / všední dny (5) / každý den (7)
Tlačítkem "+" lze v módu nastavení budíku nastavovat budík. V módu zobrazení času/data/dne jím lze volit jeden ze šesti stupňů jasu LED displeje (1/32, 1/16, 1/8, 1/4, 1/2, plný). Indikátor budíku svítí, pokud je budík aktivován, a bliká, pokud jste právě v módu nastavování budíku.
    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í: hodiny, desítky minut, jednotky minut, sekundy (po deseti), den v týdnu, den, měsíc, rok a vypínač automatického času. Jednotlivé údaje se přepínají tlačítkem "Mód". Nastavení se provede tlačítkem "+". Vypínač automatického času (Au) umožňuje vypnout a zapnout funkci automatického přechodu na letní čas a zpět. "Au1" znamená zapnuto, "Au0" znamená vypnuto.

Celý program ke stažení:
zdrojový kód v assembleru (ASM)
přeložený v HEX souboru (2028 B)
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 nejjednoduššího LED budíku s AVR ATtiny2313A / ATtiny2313V / ATtiny2313.


Nastavení konfiguračních bitů.


Hodiny se zapnutým budíkem


Hodiny s vypnutým budíkem


Datum


Den v týdnu


Displej


Video - testování budíku (indikátor budíku je zde samostatná LED).



Přidáno: 30. 9. 2014
zpět na úvodní stránku