Jak si vyrobit vlastní časovač z elektronických hodin. Elektronické hodinky - Hodiny - Designy pro dům a zahradu

Fotografie ukazuje prototyp, který jsem sestavil, abych odladil program, který bude celé toto zařízení spravovat. Druhé arduino nano v pravém horním rohu prkénka nepatří do projektu a trčí tam jen tak, nemusíte mu věnovat pozornost.

Něco málo k principu fungování: Arduino vezme data z časovače DS323, zpracuje je, pomocí fotorezistoru určí úroveň osvětlení, poté vše odešle do MAX7219 a ten zase rozsvítí potřebné segmenty požadovaným jasem. Pomocí tří tlačítek můžete také nastavit rok, měsíc, den a čas podle potřeby. Na fotografii indikátory zobrazují čas a teplotu, která je odebírána z digitálního teplotního čidla

Hlavním problémem v mém případě je, že 2,7palcové indikátory mají společnou anodu a museli se za prvé nějak spřátelit s max7219, který je určen pro indikátory se společnou katodou, a za druhé vyřešit problém s jejich napájení, protože pro žhavení potřebují 7,2 voltů, které samotný max7219 nemůže poskytnout. Když jsem na jednom fóru požádal o pomoc, dostal jsem odpověď.

Řešení na snímku obrazovky:


Na výstupy segmentů z max7219 je připojen mikroobvod, který invertuje signál a na každý pin, který by měl být připojen ke společné katodě displeje, je připojen obvod tří tranzistorů, které také invertují jeho signál a zvyšují napětí. Získáme tak možnost připojit displeje se společnou anodou a napájecím napětím vyšším než 5 voltů k max7219

Připojil jsem na test jeden indikátor, vše funguje, nic nekouří

Začněme sbírat.

Okruh jsem se rozhodl rozdělit na 2 části z důvodu obrovského množství propojek ve verzi, kterou oddělovaly mé křivé tlapky, kde bylo vše na jedné desce. Hodiny se budou skládat ze zobrazovací jednotky a napájecí a řídicí jednotky. Bylo rozhodnuto shromáždit nejdříve to druhé. Prosím estéty a zkušené radioamatéry, aby neomdlévali kvůli krutému zacházení s díly. Nemám chuť si kvůli LUT kupovat tiskárnu, tak to dělám po staru - cvičím na papíře, vrtám dírky podle šablony, kreslím fixem cesty, pak leptám.

Princip uchycení indikátorů zůstal stejný jako na.

Polohu indikátorů a komponentů označujeme pomocí šablony z plexiskla vyrobené pro pohodlí.

Proces značkování







Poté pomocí šablony vyvrtáme otvory na správných místech a vyzkoušíme všechny součásti. Všechno perfektně sedí.

Kreslíme cesty a leptáme.




koupání v chloridu železitém

Připraveno!
ovládací deska:


indikační deska:


Ovládací deska dopadla skvěle, dráha na zobrazovací desce nebyla kriticky vyžraná, lze ji opravit, je čas pájet. Tentokrát jsem přišel o panenství SMD a zařadil do obvodu součástky 0805. Přinejmenším byly na místo připájeny první odpory a kondenzátory. Myslím, že se v tom zdokonalím, bude to jednodušší.
K pájení jsem použil koupené tavidlo. Pájení s ním je radost nyní používám lihovou kalafunu pouze na cínování.

Zde jsou hotové desky. Řídicí deska má sedátko pro Arduino nano, hodiny, dále výstupy pro připojení k desce displeje a senzorům (fotoodpor pro automatický jas a digitální teploměr ds18s20) a napájecí zdroj s nastavitelným výstupním napětím (pro velké sedmisegmentových zařízení) a pro napájení hodin a Arduina jsou na desce displeje montážní patice pro displeje, patice pro max2719 a uln2003a, řešení pro napájení čtyř velkých sedmisegmentových zařízení a hromada propojek.




zadní ovládací deska

Zadní zobrazovací deska:

Příšerná instalace smd:


Zahájit

Po zapájení všech kabelů, tlačítek a senzorů je čas vše zapnout. První spuštění odhalilo několik problémů. Poslední velký indikátor se nerozsvítil a zbytek slabě svítil. S prvním problémem jsem se vypořádal připájením nohy SMD tranzistoru a s druhým - úpravou napětí produkovaného lm317.
JE TO ŽIVÉ!

Pro ty, kteří se alespoň trochu vyznají v mikrokontrolérech a chtějí si také vytvořit jednoduché a užitečné zařízení do domácnosti, není nic lepšího než sestava s LED indikátory. Taková věc může zdobit váš pokoj, nebo ji lze použít jako jedinečný ručně vyrobený dárek, od kterého získá další hodnotu. Obvod funguje jako hodiny a jako teploměr - režimy se přepínají tlačítkem nebo automaticky.

Elektrické schéma domácích hodin s teploměrem

Mikrokontrolér PIC18F25K22 se stará o veškeré zpracování a načasování dat a sdílení ULN2803A Zbývá pouze koordinovat jeho výstupy s LED indikátorem. Malý čip DS1302 funguje jako časovač přesných sekundových signálů, jeho frekvence je stabilizována standardním quartzovým rezonátorem 32768 Hz. To poněkud komplikuje design, ale nebudete muset neustále upravovat a upravovat čas, který se nevyhnutelně zpozdí nebo uspěchá, pokud si vystačíte s náhodně nevyladěným quartzovým rezonátorem o několika MHz. Takové hodinky jsou spíše jednoduchou hračkou než kvalitními a přesnými hodinkami.

V případě potřeby mohou být teplotní čidla umístěna daleko od hlavní jednotky - jsou k ní připojena třívodičovým kabelem. V našem případě je jedno teplotní čidlo instalováno v bloku a druhé je umístěno venku, na kabelu o délce cca 50 cm.

Displej hodin je tvořen čtyřmi velkými LED digitálními ukazateli. Původně byly společnou katodou, ale ve finální verzi se změnily na společnou anodu. Můžete nainstalovat jakékoli další a poté jednoduše vybrat proud omezující odpory R1-R7 na základě požadovaného jasu. Dalo by se to umístit na společnou desku s elektronickou částí hodinek, ale tohle je mnohem univerzálnější – najednou chcete dát hodně velký LED indikátor, aby byly vidět na velkou vzdálenost. Příklad takového návrhu pouličních hodin je zde.

Samotná elektronika začíná od 5 V, ale aby LED diody jasně svítily, je nutné použít 12 V. Ze sítě je napájení přiváděno přes redukční transformátorový adaptér do stabilizátoru 7805 , která produkuje napětí striktně 5 V. Pozor na malou zelenou válcovou baterii - slouží jako záložní zdroj pro případ ztráty sítě 220 V Není nutné ji odebírat na 5 V - 3,6 lithiová-. iontové nebo Ni-MH baterie je dostatečné Volt.

Pro pouzdro můžete použít různé materiály - dřevo, plast, kov, nebo integrovat celou konstrukci domácích hodinek do hotových průmyslových hodinek, například z multimetru, tuneru, rádiového přijímače a tak dále. Vyrobili jsme je z plexiskla, protože se snadno opracovává a umožňuje vidět vnitřnosti, aby je viděl každý - tyto hodinky byly sestaveny vlastníma rukama. A co je nejdůležitější, bylo to k dispozici :)

Zde najdete všechny potřebné detaily navrženého domácího návrhu digitálních hodin, včetně schématu zapojení, rozložení PCB, firmware PIC a

Ahoj geektimes! První část článku pojednávala o principech získávání přesného času na podomácku vyrobených hodinkách. Pojďme dále a uvažujme, jak a na čem je lepší tentokrát zobrazit.

1. Výstupní zařízení

Máme tedy určitou platformu (Arduino, Raspberry, řadič PIC/AVR/STM atd.) a úkolem je připojit k ní nějakou indikaci. Existuje mnoho možností, které zvážíme.

Segmentový displej

Všechno je zde jednoduché. Segmentový indikátor se skládá z obyčejných LED, které se jednoduše připojí k mikrokontroléru přes zhášecí odpory.

Pozor na provoz!

Pro: jednoduchost designu, dobré pozorovací úhly, nízká cena.
Nevýhody: Množství zobrazovaných informací je omezené.
Existují dva typy návrhů indikátorů, se společnou katodou a společnou anodou uvnitř to vypadá asi takto (schéma z webu výrobce).

Existuje 1001 článků o tom, jak připojit LED k mikrokontroléru, Google může pomoci. Potíže začínají, když chceme vyrobit velké hodiny – koneckonců pohled na malý ukazatel není nijak zvlášť pohodlný. Pak potřebujeme následující indikátory (foto z eBay):

Jsou napájeny 12V a jednoduše nebudou fungovat přímo z mikrokontroléru. Zde nám přichází na pomoc mikroobvod. CD4511, právě pro tento účel. Převádí nejen data ze 4bitové linky na požadovaná čísla, ale obsahuje i vestavěný tranzistorový spínač pro napájení indikátoru. V obvodu tedy budeme potřebovat „výkonové“ napětí 9-12V a samostatný redukční převodník (například L7805) pro napájení „logiky“ obvodu.

Maticové indikátory

V podstatě se jedná o stejné LED, pouze ve formě matice 8x8. Foto z eBay:

Na eBay se prodávají ve formě jednotlivých modulů nebo hotových bloků, například 4 kusy. Jejich správa je velmi jednoduchá - na moduly je již připájen mikroobvod MAX7219, zajišťující jejich provoz a připojení k mikrokontroléru pouze pomocí 5 vodičů. Existuje mnoho knihoven pro Arduino, každý se může podívat na kód.
Pro: nízká cena, dobré pozorovací úhly a jas.
Nevýhody: nízké rozlišení. Ale pro úlohu odvození je času docela dost.

LCD indikátory

LCD indikátory mohou být grafické nebo textové.

Grafické jsou sice dražší, ale umožňují zobrazit pestřejší informace (například graf atmosférického tlaku). Textové jsou levnější a lépe se s nimi pracuje, umožňují zobrazovat i pseudografiku - do displeje je možné načítat vlastní symboly.

Práce s indikátorem LCD z kódu není obtížná, ale existuje určitá nevýhoda - indikátor vyžaduje mnoho řídicích linek (od 7 do 12) z mikrokontroléru, což je nepohodlné. Číňané proto přišli s nápadem zkombinovat LCD indikátor s ovladačem i2c, což se nakonec ukázalo jako velmi pohodlné – k připojení stačí pouze 4 vodiče (foto z eBay).


LCD indikátory jsou poměrně levné (pokud je koupíte na eBay), velké, snadno se připojují a mohou zobrazovat různé informace. Jediným negativem jsou nepříliš velké pozorovací úhly.

OLED indikátory

Jsou vylepšeným pokračováním předchozí verze. Pohybují se od malých a levných s úhlopříčkou 1,1", až po velké a drahé. Foto z eBay.

Vlastně jsou dobré ve všem kromě ceny. Co se týče malých indikátorů o velikosti 0,9-1,1“, pak (kromě učení se pracovat s i2c) pro ně těžko najdeme nějaké praktické využití.

Indikátory úniku plynu (IN-14, IN-18)

Tyto indikátory jsou nyní velmi oblíbené, zřejmě díky „teplému zvuku lampy světla“ a originalitě designu.


(foto z nocrotec.com)

Jejich schéma zapojení je poněkud složitější, protože Tyto kontrolky používají pro zapalování napětí 170V. Na mikroobvod lze vyrobit měnič od 12V=>180V MAX771. K napájení indikátorů se používá sovětský mikroobvod K155ID1, který byl vytvořen speciálně pro tento účel. Emisní cena za samovýrobu: asi 500 rublů za každý indikátor a 100 rublů za K155ID1, všechny ostatní díly, jak psali ve starých časopisech, „není nedostatek“. Hlavní problém je v tom, že IN-xx i K155ID1 se již dávno nevyrábějí a můžete je koupit pouze na rádiích nebo v několika specializovaných prodejnách.

2. Výběr platformy

S displejem jsme víceméně přišli, zbývá se jen rozhodnout, jakou hardwarovou platformu je nejlepší použít. Zde je několik možností (neuvažuji o domácích, protože ti, kteří vědí, jak nasměrovat desku a připájet procesor, tento článek nepotřebují).

Arduino

Nejjednodušší možnost pro začátečníky. Hotová deska je levná (asi 10 $ na eBay s dopravou zdarma) a má všechny potřebné konektory pro programování. Foto z eBay:

Pod Arduinem existuje obrovské množství různých knihoven (například pro stejné LCD obrazovky, moduly reálného času), Arduino je hardwarově kompatibilní s různými přídavnými moduly.
Hlavní nevýhoda: složitost ladění (pouze přes konzoli sériového portu) a na moderní standardy dosti slabý procesor (2KB RAM a 16MHz).
Hlavní výhoda: můžete dělat spoustu věcí, prakticky bez obtěžování s pájením, nákupem programátoru a zapojováním desek, stačí moduly vzájemně propojit;

32bitové STM procesory

Pro ty, kteří chtějí něco výkonnějšího, jsou připravené desky s procesory STM, například deska s STM32F103RBT6 a TFT obrazovkou. Foto z eBay:

Zde již máme plnohodnotné ladění v plnohodnotném IDE (ze všech různých se mi nejvíce líbilo IDE Coocox), nicméně budeme potřebovat samostatný programátor-ladicí program ST-LINK s konektorem JTAG (problém cena je 20-40 $ na eBay). Případně lze dokoupit vývojovou desku STM32F4Discovery, na které je tento programátor již vestavěn, a lze ji používat samostatně.

Malina PI

A nakonec pro ty, kteří chtějí plnou integraci s moderním světem, jsou tu jednodeskové počítače s Linuxem, které už asi všichni znají – Raspberry PI. Foto z eBay:

Jedná se o plnohodnotný počítač s Linuxem, gigabajtem RAM a 4jádrovým procesorem na desce. Na okraji desky je umístěn panel o 40 pinech umožňujících připojení různých periferií (piny jsou dostupné z kódu např. v Pythonu, nemluvě o C/C++), nechybí ani standardní USB v podobě 4 konektory (lze připojit WiFi). Nechybí ani standardní HDMI.
Výkon desky stačí například nejen na zobrazení času, ale i na provoz HTTP serveru pro nastavování parametrů přes webové rozhraní, načítání předpovědi počasí přes internet a podobně. Obecně platí, že je zde velký prostor pro fantazii.

S Raspberry (a procesory STM32) je jen jedna potíž – jeho piny používají 3V logiku a většina externích zařízení (například LCD obrazovky) funguje „staromódním“ způsobem od 5V. Samozřejmě to můžete takto připojit a v zásadě to bude fungovat, ale není to úplně správný způsob a je škoda zničit desku za 50 dolarů. Správným způsobem je použít „převaděč logické úrovně“, který na eBay stojí pouze 1–2 dolary.
Foto z eBay:

Nyní stačí připojit naše zařízení přes takový modul a všechny parametry budou konzistentní.

ESP8266

Metoda je spíše exotická, ale vzhledem ke kompaktnosti a nízké ceně řešení docela slibná. Za velmi málo peněz (asi 4-5 dolarů na eBay) si můžete koupit modul ESP8266 obsahující procesor a WiFi na desce.
Foto z eBay:

Původně byly takové moduly zamýšleny jako WiFi bridge pro výměnu přes sériový port, ale nadšenci napsali mnoho alternativních firmware, které jim umožňují pracovat se senzory, i2c zařízeními, PWM atd. Hypoteticky je docela možné přijímat čas z NTP server a výstup přes i2c na displej. Pro ty, kteří chtějí připojit spoustu různých periferií, existují speciální desky NodeMCU s velkým počtem pinů, cena je asi 500 rublů (samozřejmě na eBay):

Jediným negativem je, že ESP8266 má velmi málo RAM (v závislosti na firmwaru od 1 do 32 KB), ale o to je úkol zajímavější. Moduly ESP8266 využívají 3V logiku, takže i zde se bude hodit výše uvedený převodník úrovní.

Tím končí úvodní exkurze do podomácku vyrobené elektroniky autor všem přeje úspěšné experimenty.

Místo závěru

Nakonec jsem se rozhodl pro Raspberry PI s textovým indikátorem nakonfigurovaným pro práci s pseudografikou (která se ukázala být levnější než grafická obrazovka stejné úhlopříčky). Při psaní tohoto článku jsem vyfotil obrazovku s hodinami na ploše.

Hodiny zobrazují přesný čas převzatý z internetu a počasí, které je aktualizováno z Yandexu, to vše je napsáno v Pythonu a již několik měsíců funguje docela dobře. Zároveň na hodinkách běží FTP server, který umožňuje (ve spojení s přesměrováním portů na routeru) na nich aktualizovat firmware nejen z domova, ale i odkudkoli, kde je internet. Jako bonus Raspberry zdroje v zásadě stačí na připojení kamery a/nebo mikrofonu s možností vzdáleného sledování bytu, případně ovládání různých modulů/relé/senzorů. Můžete přidat nejrůznější „dobroty“, jako je LED indikace příchozí pošty a podobně.

PS: Proč eBay?
Jak vidíte, u všech zařízení byly uvedeny ceny nebo fotografie z eBay. proč tomu tak je? Naše obchody bohužel často žijí podle principu „koupeno za 1 dolar, prodáno za 3 dolary a žít z těchto 2 procent“. Jako jednoduchý příklad, Arduino Uno R3 stojí (v době psaní tohoto článku) 3600 rublů v Petrohradě a 350 rublů na eBay s dopravou zdarma z Číny. Rozdíl je skutečně řádový, bez jakékoli literární nadsázky. Ano, na vyzvednutí balíku na poště budete muset čekat měsíc, ale myslím, že takový rozdíl v ceně se vyplatí. Pokud to ale někdo potřebuje právě teď a akutně, tak je asi na výběr v místních obchodech, tady se každý rozhodne sám.

Domácí náramkové hodinky s indikátorem vakua, vyrobené ve stylu steampunk. Materiál převzat z www.johngineer.com. Tyto náramkové hodinky jsou sestaveny na základě displeje IVL-2. Původně jsem si koupil několik těchto indikátorů, abych vytvořil standardní stolní hodiny, ale po chvíli přemýšlení jsem si uvědomil, že bych si také mohl postavit stylové náramkové hodinky. Indikátor má řadu funkcí, díky kterým je pro tento účel vhodnější než většina ostatních sovětských displejů. Zde jsou parametry:

  • Jmenovitý proud vlákna je 60 mA 2,4 V, ale pracuje s 35 mA 1,2 V.
  • Malá velikost – pouze 1,25 x 2,25"
  • Může pracovat s relativně nízkým síťovým napětím 12V (až 24)
  • Spotřebuje pouze 2,5 mA/segment při 12,5 V

Všechny fotografie lze zvětšit kliknutím na ně. Největší překážkou úspěšného dokončení projektu bylo jídlo. Vzhledem k tomu, že tyto hodinky byly zamýšleny jako součást kostýmu, nezáleží na tom, že baterie vydrží pouze 10 hodin. Usadil jsem se na AA a AAA.

Schéma je celkem jednoduché. Mikrokontrolér Atmel AVR ATMega88 a hodiny reálného času - DS3231. Ale existují i ​​jiné čipy, mnohem levnější, které budou fungovat stejně dobře v generátoru.

VFD displej je řízen MAX6920 - 12bitovým posuvným registrem s vysokonapěťovými (až 70V) výstupy. Snadno se používá, je velmi spolehlivý a kompaktní. Ovladač displeje také mohl připájet spoustu samostatných součástek, ale to bylo nepraktické kvůli prostorovým omezením.

Napětí baterie také napájí 5V boost konvertor (MCP1640 SOT23-6), který je nutný pro normální provoz AVR, DS3231 a MAX6920, a také funguje jako vstupní napětí pro druhý boost konvertor (NCP1403 SOT23-5), který produkuje 13V pro napětí sítě indikátoru vakua.

Hodinky mají tři senzory: jeden analogový a dva digitální. Analogový senzor je fototranzistor a používá se k detekci úrovně světla (Q2). Digitální senzory: BMP180 - tlak a teplota a MMA8653 - akcelerometr pro detekci pohybu. Oba digitální senzory jsou připojeny přes I2C sběrnici k DS3231.

Pro krásu a ochranu skleněného displeje náramkových hodinek jsou připájeny mosazné trubičky a pro připevnění koženého řemínku jsou použity měděné dráty o tloušťce 2 mm. Úplné schéma zapojení není v původním článku uvedeno - zapojení viz katalogové listy k uvedeným mikroobvodům.




Nahoru