Výroba binárních hodin s PIC16F627

Idea binárních hodin se mi líbila, nicméně žádný ať už z oficiálních produktů nebo internetových bastlů neměl design jednoho binárního čísla pro každou časovou jednotku. Rozhodl jsem se proto vytvořit si kapesní hodiny dle vlastního návrhu. Hlavní početní jednotkou hodin jsem zvolil poměrně levný mikroprocesor PIC16F627. Program jsem psal v Assembleru ve vývojovém prostředí MPLAB X IDE v1.40 (odkaz níže), program jsem do zařízení nahrával přes programátor PicKit 2. V tomto složení lze naprosto pohodlně ladit program na Linuxu. Návrh schématu a DPS jsem provedl v programu Eagle.

Protože jsem si schéma zapojení navrhoval sám, a bylo to mé první schéma, obsahuje některé části, které lze vypustit, jako například diody, nebo pull-up resistory, které lze nahradit softwarově, nebo části, které by šly na DPS rozložit lépe. Nicméně i tak zapojení slouží správně a kdo má zájem, sám si ho upraví.

Zařízení má dvě části, a to řídící jednotku obsahující mikroprocesor, tlačítka,… a zobrazovací jednotku – displej sestavený z SMD LED diod.

Displej má čtyři řádky. První zobrazuje hodiny, druhý minuty, třetí vteřiny a čtvrtý dny v týdnu. Pro možnost zobrazení všech hodnot v 24h formátu to tedy znamená 5+6+6+3 diody. Nicméně potřeboval jsem ještě nějak zobrazovat různé operační stavy (zobrazení času, stand-by režim, přenastavování času…) a přidal jsem proto ještě sloupec čtyř červených LED SMD diod vpravo. Čas je zobrazován diodami zelené barvy.

Displej

Displej při vývoji

Řídicí jednotka má velikost cca 5,5^2 cm^2. Tím jsem splnil jeden ze záměrů – kompaktnost. Mikroprocesor posílá část dat na displej přes posuvný registr 4094. Tím jsem ušetřil piny. Zařízení je ovládáno čtyřmi tlačítky a jeden pin zůstal volný, nechal jsem ho pro pozdější využití např. připojení reproduktoru, díky němuž by se zařízení dalo využívat i jako budík.

Výdrž zařízení velmi ovlivňuje mód, v kterém je zařízení používáno. První mód zobrazuje čas neustále, v takovém stavu by vydrželo maximálně několik dní. Druhý mód zobrazuje čas přerušovaně každou druhou vteřinu, výdrž však prodlouží maximálně o několik dní. Třetí mód nechá displej vypnutý. Čas si tedy zobrazíte jen když to opravdu potřebujete a zařízení mi takto vydrželo cca 10 měsíců. (Což splnilo můj další požadavek.) K napájení používám 2x AA baterii. Pro delší výdrž jsem volil nízký takt mikroprocesoru a displej proto nezobrazuje naprosto plynule, nicméně žádné problémy mi to nečinilo.

Schéma

Schéma řídící jednotky

Galerie obrázků a soubory projektů lze najít na konci stránky.

Soubory:

binarni_hodiny.tar

Odkazy:

MPLAB X IDE

Eagle

Příspěvek byl publikován v rubrice Elektronika, Kódy a jeho autorem je fojjta. Můžete si jeho odkaz uložit mezi své oblíbené záložky nebo ho sdílet s přáteli.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.