» Elektronika » Arduino »Binární hodiny s budíkem a časovačem na Arduino Uno

Binární hodiny s budíkem a časovačem na Arduino Uno


Poté, co dostal pár desek Arduino, a různé rádiové komponenty, aby se seznámili s mikrokontroléry, autor se rozhodl udělat něco zajímavého a zároveň užitečného. Vzhledem k tomu, že na skladě bylo velké množství LED, přišel nápad vytvořit binární hodiny.

Na straně elektroniky nejsou binární hodiny nijak zvlášť složité, ale autor úkol komplikoval a rozhodl se neukládat tlačítka a LED diody. Projekt měl zpočátku používat 22 LED, 6 tlačítek a jeden výškový reproduktor. Byl to také nápad sestavit hodinky na Arduino Mega kvůli většímu počtu kolíků, ale posuvné registry 74HC595 se ukázaly jako spása.

Materiály:
- Arduino Uno
- 2 plné prkénky plné velikosti
- LED červené 7 ks
- Zelené LED 7 ks
- Modré LED 6 ks
- 2 žluté a bílé LED diody
- Rezistory 220 ohmů 25 ks
- Piezo bzučák 1 ks
- 6 tlačítek taktovací tlačítka
- Shiftový výstup registruje 74HC595 v balení DIP-16, 3 ks
- Připojovací vodiče 90 ks
- Hodinový modul v reálném čase založený na čipu DS1307 RTC

Jak bude všechno fungovat.
Existuje asi 10 typů binárních hodin. Některé ukazují čas ve formátu binárních desetinných míst (BCD), jiné jako binární čísla. Vzhledem k tomu, že se autorovi BCD-hodinky moc nelíbí, rozhodl se vytvořit svůj čistě binární. Někteří lidé mají potíže se čtením, ale rozdíl není velký, protože překlad čísel z binárních do desetinných čísel je snadný. Předpokladem pro tvůrce hodinek byla také indikace sekund na hodinkách.

Hodinky mají navíc 6 tlačítek:
Set - je zodpovědný za režim nastavení hodin / budíku a uložení parametru v režimu nastavení.
Režim - odpovídá za přepínání mezi režimy hodin, budíku a časovače.
Nahoru - v nastavení hodin / budíku / časovače zvyšuje parametr o jeden. V budíku a časovači je zodpovědný za aktivaci a deaktivaci vybraného režimu. Když je spuštěn signál, vypne signál alarmu / časovače.
Down - v nastavení hodin / budíku / časovače sníží parametr o jeden. Časovač ji pozastaví bez vynulování odpočítávání. Když se alarm vypne, bude přenášet signál po dobu 5 minut.
24/12 - změna formátu času.
Dim - odpovídá za zapnutí a vypnutí LED diod (pokud LED diody zhasnou, zbývající tlačítka přestanou fungovat).
Schéma umístění LED:
Binární hodiny s budíkem a časovačem na Arduino Uno


Připojení komponent
Autor propojí všechny LED diody v sérii as rezistorem. Odpor je připájen k jednomu z terminálů LED, nezáleží na tom, který z nich. LED diody budou připojeny přes posuvné registry, tento čip má 16 kontaktů.Tento počet kolíků umožňuje použít velké množství kolíků, přičemž na Arduino máte pouze 3 kolíky.

Posuvný registr Pinout 74HC595:
Q0-Q7 jsou nálezy registru, ke kterému budou LED diody připojeny.
Vcc - na něj bude použit napájecí kolík 5V.
GND - uzemnění připojené k GND na Arduino.
OE - kolík je zodpovědný za invertovanou aktivaci pinů, ale nebude se používat, jednoduše se zkratuje k zemi.
MR je invertovaný registr, který nemusí být řízen, proto bude připojen k napájení 5V.
ST_CP - pin je zodpovědný za aktualizaci stavu registru. Při zaznamenávání stavu je třeba na něj po zaznamenání - VYSOKÉ použít stav NÍZKÉ, aby se aktualizoval stav výstupů. Musí být připojen k pin na Arduino. Tento pin můžete připojit paralelně do tří registrů.
SH_CP - pin, zodpovědný za posun o 1 bit registru. Musí být připojen k pin na Arduino. Jsou zapojeny na mikroobvodech také paralelně.
DS - data se odesílají na tento pin, jsou připojena ke pin na Arduino.
Q7 '- tento pin se používá pro kaskádové propojení s jinými registry 74HC595.

Schéma zapojení:


Piezoelektrický bzučák bude připojen k třetímu Arduino pinům v sérii s rezistorem. Před zapojením tweeteru do obvodu se autor podíval na to, které kolíky podporují PWM, protože je to pro ni povinné. Na Arduino Uno podporuje PWM 3, 5, 6, 9, 10 a 11 pinů.


Tlačítka jsou připojena pomocí odporů zabudovaných do Arduina, přičemž jedna strana tlačítek je připojena k zemi a druhá k pinům Arduino.


Konečný design tedy vypadá:


Stavět na prkénku
Po získání dalších podrobností začal autor sestavovat projekt na prkénko podle schémat. Vzhled se chystal očekávat, protože Breadboard omezuje svobodu při umisťování komponentů a lepení drátů nevytváří estetické potěšení. Prkénko na prkénko je ostatně určeno pro prkénko, ale ne pro hotová zařízení.


Programový kód.
Po důkladném programování se autor rozhodl napsat kód sám, aniž by využil vývoj ostatních lidí. Prvním krokem bylo napsat podprogram, je zodpovědný za blikání všech diod a za zapnutí piezo signálu. Tato funkce pomáhá ověřit integritu obvodu, podobně jako u mnoha zařízení.

Skica vyšla docela velká, pak můžete zvážit její hlavní rysy.

LED práce.
Protože LED jsou přístupné přes posuvný registr, bylo nutné pro LED diody implementovat více rutin. Pro snadnější obsluhu s diodami bylo implementováno množství dalších funkcí. Jsou implementovány různé efekty animace diod. Pokud hodiny nejsou nastaveny, diody odpovědné za hodiny a minuty začnou blikat (jako normální hodiny blikají, pokud nejsou nastaveny). LED diody zodpovědné za sekundy mají také vlastní animaci, dioda může běžet vlevo a vpravo v režimu alarmu nebo v režimu nastavení hodin.

Hlavní smyčka.
Program je nakonfigurován tak, aby fungoval následovně: hodiny zobrazují informace v závislosti na aktuálním stavu a mění svůj stav v závislosti na použití tlačítek a událostí. Vypadá to jako značné množství vnořených podmínek. Stav diod je aktualizován pokaždé, když zkontroluje stav časovačů a tlačítek s voláním do jejich obsluhy.

Autor také odvedl skvělou práci pro správnou funkci vstupních tlačítek a časovačů. Zdrojový kód skici lze stáhnout pod článkem.


Spusťte rozvržení
Po zapnutí projektu zařízení na první pohled fungovalo správně a stabilně. Ale autor našel chybu, hodiny byly pozadu o jednu sekundu za hodinu, po dlouhou dobu by to byla velká chyba.


Po prostudování tohoto problému bylo zjištěno, že původní Arduino Uno používá keramický rezonátor a postrádá přesnost pro měření času v dlouhých obdobích. Nejracionálnějším řešením bylo koupit hodiny v reálném čase a navíc díky tomuto modulu čas na hodinách nezhasne, když je vypnutý. Autor zakoupil modul Grove RTC od společnosti Seeed Studio. Je to hotová deska s hodinovým čipem. Autor propojil kolíky modulu SDA a SCL s Arduino na kolících A4 a A5, GND k zemi. Protože 5V napájení je obsazeno hodinovým panelem, nebylo kam připojit modul. Autor se rozhodl napájet modul z jednoho z digitálních pinů, který bude neustále napájen.Autor také potřeboval upravit zdrojový kód a přidat knihovnu hodin v reálném čase.


Montáž hodinek
Po dokončení dlouhé práce na kódu je čas dát zařízení kompletní pohled a přenést jej z prkénko na desku s plošnými spoji. Nejprve bylo nutné provést zapojení do desky. K tomu byl použit Fritzing, protože autor už měl představu o vzhledu hodinek a vytvořil schéma zařízení. Autor také ručně vystopoval desku, trvalo to hodně času.
Projekt výroby desek plošných spojů:


Výroba PCB byla objednána v Číně. Seeed Studio má deskovou službu Fusion PCB. Přes Fritzing byl soubor exportován do formátu Extended Gerber, s ním spolupracuje mnoho výrobců desek. O dva týdny později obdržel autor v poště dlouho očekávaný poplatek.


Zbývalo jen pájet již trochu zaprášené části na desce. Konečný výsledek po pájení vypadal mnohem lépe než rozložení na prkénku.


Autor projektu tvrdě pracoval dlouho a dostal, co chtěl - jedinečné binární hodiny s časovačem a budíkem. Pomocí prostoru pro baterie mohou být hodinky umístěny kdekoli. Arduino splnil očekávání a celý úkol zvládl.

binclock-master.zip [23,53 Kb] (počet stažení: 175)
10
10
10

Přidejte komentář

    • úsměvúsměvyxaxaokdontknowyahoone
      šéfeškrábnutíhlupákanoano-anoagresivnítajemství
      promiňtanecdance2dance3prominoutpomocnápoje
      zastavitpřátelédobředobrá náladapískatlžícejazyk
      kouřtleskánícrayprohlásitvýsměšnýdon-t_mentionstáhnout
      teploirefulsmích1mdasetkánímoskingnegativní
      not_ipopcorntrestatčístvyděsitděsíhledat
      posměchděkujitototo_clueumnikakutnísouhlasím
      špatnévčelablack_eyeblum3červenat sechlubit senuda
      cenzurovánopleasantrysecret2hrozitvítězstvíyusun_bespectacled
      třástrespektlolprovedenívítejtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodibludzákazblízko

Doporučujeme si přečíst:

Podejte to pro smartphone ...