Schéma je zase extrémně jednoduché, ale to se umí vymstít jinak. To je hádám poprvé, kdy se liší datasheet od konkrétního zapojeni součástky. Tento čínský displej má totiž jinak zapojené vývody a dost dlouho mi trvalo, než jsem si to všiml. Je to chyba, kterou prostě nečekáte.
Hodiny jsou řízené přes Loconet a slot 123 v předepsaném formátu. Je dost problém neexistence adresy nebo ID čísla, teda určení a přiřazení priority na vysílání. Centrála hodin se musí chovat jako mrtvý brouk a nesmí sama vysílat. Musí přijít paket <BB, 7B, 0, 3F> , na který musí odpovědět centrála hodin paketem přes slot 123, o stavu hodin. Asi není žádoucí, aby při každém výpadku napájení požadovaly všechny hodiny inicializaci. Stačí, když to udělají jedny hodiny a všechny se vzbudí najednou. To zabezpečí první obsluha, která si toho všimne.
Musel jsem použít Atmegu328, protože fonty na grafiku 24x32 jsou opravdu veliké a berou si 11kB Flash paměti, i když potřebuji jen znaky 32 až 59 ASCII. Hodiny běží na 4 Mhz, nemám krystal s nižším kmitočtem. Hodiny jsou naprosto nezávislé a po inicializaci nepotřebuji řídící impulsy.
Displej je průhledný, teda za světla nemusí byt zapnuté podsvícení. Pokud je šero nebo tma, jsou k dispozici 3 stupně podsvícení. Každý bere po 1mA navíc.
Výroba a programové vybavení není složité, ale LCD displej má svoje specifika, které je nutné respektovat. Například postupnost příkazů inicializace. Každý řadič je jiný a že je jich dost.
Vyrobeno pět kusů, jedny hodiny s bočním připojením.
Na setkání v Žilině jsme testovali centrálu hodin a z toho vyplynuly další požadavky.
Asi největší problém je to, že existuje víc centrál hodin zabudovaných v Loconet centrálách, například IBX II nebo DR5000. Tam je ale potřebný nějaký počítač s USB anebo je nastavení času dost složité. Proto vznikl požadavek, aby moje centrála hodin vzbudila a nastavila tyto hodiny a potom se odpojila a chovala se jako SLAVE.
Dále bylo požadováno, aby centrála ve stavu MASTER vysílala obnovovací čas každých zhruba 60 vteřin. To je proto, že PeLi hodiny se neumí samé inicializovat a někteří by je chtěli používat.
Dále byl požadován větší rozsah svitu displeje, kdy to v tmě svítí moc a na slunci to zase není čitatelné. Teda třeba aspoň tři stupně svitu a to dost rozdílné.
Když se hodiny zapnou, tak se objeví 8 pomlček v řadě. To je základní stav po zapnutí napájení.
Teď jsou dvě možnosti, bud se hodiny inicializuji externě nebo se musí nastavit interně.
Externě se hodiny nastaví tak, že jiná centrála posle paket přes slot 123 a tak se moje hodiny vzbudí.
Interně se hodiny nastaví tak, že se postupně stisknou klávesy s hodnotami od 00:00 do 23:59. Tyto hodnoty jsou ošetřené a nedají se nastavit nesmysly. Poslední pátá číslice určuje zrychlení a ta se ukáže na poslední pozici. Je tu volba od 1 do 9, což úplně stačí. Pak hodiny čekají na stisk klávesy #, která hodiny spustí a pošle inicializační paket přes slot 123, kterým se nastaví všechny podružné hodiny v stavu SLAVE.
Pokud hodiny běží, tak se dá měnit svit displeje přes klávesy 1, 2, 3, kdy se změna svitu objeví okamžitě.
Pokud stisknete klávesy 7, 8, 9, tak se nastavuje režim a změní se předposlední číslice.
7 = zobrazi se "r" = master s aktualizacemi každou minutu reálného času
8 = zobrazi se "c" = master bez aktualizaci
9 = zobrazi se "o" = otrok, chovají se jako podružné hodiny
Stisk klávesy * způsobí zastavení hodin a zobrazení --HALt--, kdy se hodiny zastaví a čekají na stisk klávesy #, která je spustí a pokračují tam, kde jste je zastavili.
Pokud ve stavu HALt stisknete klávesu 0, tak se hodiny restartují do základního stavu s osmi pomlčkami.
Je to spolu trošku svázané, takže ve stavu SLAVE nelze hodiny restartovat nebo zastavit. To musí externí Master hodiny.
Hodiny ve stavu “c“ jsou poplatné požadavkům FREMO, kdy se nesmí vysílat, pokud není změna času.
Tehdy jsou všechny hodiny autonomní a počítají si čas samostatně.
Zdeno Janeček