» Elektronika » Arduino »Hodiny s teploměrem na Attiny

Attiny teploměr hodinky

Attiny teploměr hodinky



Zdravím všechny a přeji hezký den nebo večer. Tentokrát se podělím o pokyny pro výrobu pokojových hodin s teploměrem. Počítačovým centrem hodinek bude Attiny85, sestavený na desce od společnosti Digispark. Zobrazení hodin - Oled displej. Teploměr - známý ds18b20. Pro napájení vezmeme li-ion 18650 (lze je získat ze staré baterie z notebooku). A přidejte zobrazení stavu baterie. Stejně jako u všech mých předchozích hodinek se obejdeme bez modulu RTC (hodiny reálného času).

Shromažďujeme vše potřebné:

- Digispark Attiny85 (verze micro USB)
- ds18b20 (v plastovém pouzdře)
- Oledová obrazovka s rozlišením 128x64, I2C
- 2ks 18650 baterií nebo stará Li-ion baterie pro notebook
- rezistory (3,3 kΩ, 4,7 kΩ, 10 kΩ)
- Tenký plast (pro bydlení)
- Spojovací dráty různých barev
- ISP programátor (nebo jakýkoli jiný) Arduino poplatek)
- Tlačítko
- Dupontové konektory 2,54 mm „matka“, „otec“
- Kancelářský nůž, oboustranná páska, elektrická páska, tavná lepenka
- Vše pro pájení (páječka, kalafuna, pájka)

Krok 1 Případ.
Budoucí pouzdro na hodinky bude vyrobeno z tenkého plastu. List takového plastu si můžete koupit ve specializovaném obchodě nebo objednat na aliexpress. Nebo můžete (nečekat a nehledat se) chodit do kancelářské kanceláře a koupit si plastovou papírovou složku své oblíbené barvy. Rozměry budoucích hodinek: šířka - 40 mm, tloušťka - 30 mm, výška - 70 mm. Podle následujícího diagramu jsme vyřízli sken z plastu:


Řezáme podél tlustých linií, jemně se ohýbáme podél tenkých linií. Vystřihli jsme obdélník ve středu pomocí úředního nože, toto je okno pro zobrazení. Výsledkem je sken plastu:


Předáváme Attiny.

Krok 2 Attiny + Oled.
Jak jsem řekl, v našem srdci domácí bude Attiny 85. Nejlepší je koupit tento čip, okamžitě připájený k desce spolu s regulátorem napětí a postrojem. Digispark Attiny85 se dobře hodí. Vyberte si verzi s micro-USB na desce. Další modifikace desky nebudou odpovídat velikosti. Stává se, že se tato deska prodává s pájenými konektory Dupon „male“. Pokud ano, připájejte všechny konektory. Sbíráme barevné dráty. Potřebujeme 10 centimetrů v různých barvách. Pájeli jsme je v Attiny a zapište si, který drát, kterému závěru odpovídá. Vodiče P0 a P2 musí být pájeny ve dvou vodičích. Druhý pár je potřebný pro připojení obrazovky Oled. Dostáváme následující:


Na drát jsem napsal následující diagram:


Obrazovka je malá (aby odpovídala ovladači), ale vypadá to krásně. OLED (organická světelná dioda) je grafické zobrazení. Není podsvícení a místo toho je každý pixel samostatnou LED. Velikost obrazovky - 0,96 palce.Rozlišení 128x64. Připojeno přes sběrnici I2C. Pro spojení s Attiny používá pouze dva dráty. Přicházejí v různých barvách, vyberte podle svého vkusu. Mně se líbil modrý se žlutým pruhem nahoře. Chováme se podobně jako Digispark. Pokud existují pájené konektory - pájejte je. Pájejte prozatím pouze napájecí dráty:


Při pájení buďte opatrní, nepoškozujte kabel páječkou na displeji:


Desky spojujeme pomocí oboustranné pásky:


Pájíme displeje Digispark Attiny a Oled společně podle schématu (barvy drátů se mohou lišit, hlavní věcí je, že si nepochopí závěry):


Pro větší pohodlí a pořádek shromažďujeme všechny dráty dohromady. Můžete je otáčet elektrickou páskou, abyste se nezměnili:


Na konci všech vodičů připojíme „matečný“ konektor Dupont, vložíme jej do izolátorů a navineme je společně s elektrickou páskou, aby se konektor vytvořil. Zaznamenáváme také pinout konektoru:


Pinout by měl být takový, protože v budoucnu připojíme drát pro firmware nebo jiné prvky hodinek ke konektoru.
Výslednou strukturu lepíme do pouzdra a nezapomeňte lepit pouzdro samo, nechat jeden sténání nelepený, pro další manipulace:


Při lepení dbejte na to, aby obrazovka byla dokonce:


Krok 3 Napájení.
Pro napájení použijeme dva Li-ionové prvky. Typ 18650. Můžete si je zakoupit samostatně. V tomto případě je pájejte paralelně, izolujte a vydejte konektor pro připojení a následné nabíjení:


Mnoho z nich má starší notebooky. Zda už nepracují nebo nepracují časem. I když je baterie notebooku již špatná a není vhodná pro zamýšlené použití, lze ji použít pro všechny druhy domácích produktů. V našem případě na hodinky. Bereme baterii z notebooku:


Hlavní věc je, že je Li-ion. Pečlivě ji rozebírejte, musíte otevřít plastové pouzdro, abyste nepoškodili prvek uvnitř. Baterie je nejčastěji rozdělena na dva prvky zapojené paralelně. Vyjmeme je a oddělíme jeden pár od ostatních:


Nejlepší je pájet na kontaktní podložky:


Přilepte tento pár na zadní stranu hodinek:


Krok 4 Určení nabití baterie.
Pohodlnou funkcí hodinek je indikovat nabití baterie. Určíme stupeň nabití podle napětí. Minimální napětí těchto baterií je 2,4 V. Nelze jej dále vybíjet. Maximální napětí je 4,2 V.

Měření napětí na analogovém portu je vždy relativní k jinému napětí. Nemůžeme použít AREF pin mikrokontroléru, který slouží k nastavení referenčního napětí. Je také nemožné měřit napětí s ohledem na napájecí napětí (poměr bude vždy stejný). Proto určíme napětí ve vztahu k internímu referenčnímu napětí nebo Vbg (referenční napětí Bandgap). Je to 1,1 V. Nyní musíme vypočítat dělič napětí pro naši baterii, takže při maximálním nabití (4,2 V) měl dělič (1,1 V). Můžete vypočítat podle vzorce:



Nebo použít

R1 má nominální hodnotu 10 kOhm. Pak R2 dostaneme 3,55 KOhm, nejbližší vhodnější ze standardních hodnot 3,3 KOhm a vezmeme to. Měření se provádí mezi vnitřním napětím a GND, takže rezistor 3,3 KΩ je připájen k zápornému a 10 KΩ k plusu. Umístíme rezistory na baterii, stáhneme vodič z děliče.


Izolujeme všechny kontakty, abychom se vyhnuli zkratu:


Drát z děliče bude připojen k PB4.

Krok 5 Změřte teplotu.
Vynikajícím doplňkem hodinek je měření teploty místnosti. Použijeme integrovaný teplotní senzor DS18B20. Pro práci s ním je nutný pouze jeden vodič (velmi užitečné při používání Attiny 85). Všechna měření jsou prováděna sám, centrální ovladač se neobtěžuje (Attiny 85 má také vynikající paměť a tak málo), musíme pouze dávat příkazy a získat výsledky. Existuje několik různých schémat pro připojení tohoto senzoru, použijeme možnost, která je pro tento případ optimální, podle mého názoru.Použití externího napájení a rezistoru 4,7 kΩ:


Pájejte malé dráty a upevněte konektory


Drát ze senzoru DQ je připojen k PB 3.

Krok 6 Tlačítko.
Máme několik závěrů, ale existuje mnoho požadavků na hodinky. Použijeme jedno tlačítko pro nastavení času. Nemůžeme se spolehnout na více. Připájejte dráty k tlačítku, jeden kontakt od GND. Kombinujte s naším teplotním senzorem:


Druhý kontakt z tlačítka je připojen k PB 1.

Krok 7 Příprava vývojového prostředí
Pro další práci s náčrtem, stejně jako pro jeho úpravy a vyplnění, potřebujeme Arduino IDE. Stáhněte si tento program z:

Nyní přidejte podporu pro Attiny 85 ve středu. Otevřete Arduion IDE a jděte po cestě:
Soubor - Nastavení - „Další adresy URL Správce desek“ vložte odkaz:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json


Klikněte na OK.
Přejít na:
Tools - Board - Boards Manager zadejte Attiny a klikněte na "attiny by David A. Mellis". Klikněte na "Instalovat" a nechte dát kávu.
A teď o knihovnách. Potřebují dva:

Práce s displejem Oled

Ovládání teplotního senzoru

Po stažení těchto archivů je rozbalte do složky „knihovny“, které lze snadno najít po instalační cestě Arduino IDE.

Krok 8 Programátor.
Digispark Attiny 85 je skvělá deska. Navrženo pro připojení k počítači USB. A to lze naprogramovat. Attiny však používá softwarové USB, které zase zabírá 2 KB z 8 KB paměti. To nám nevyhovuje, a proto budeme blikat Attiny 85 prostřednictvím rozhraní ISP. A tady potřebujeme programátora ISP. Pokud tam není - na tom nezáleží. Vezměte Arduino. V mém případě Arduino UNO:


Můžete si vzít jakoukoli jinou kompatibilní desku z řady Arduino. Připojíme se k počítači, otevřete Arduino IDE, vybereme komunikační port, ke kterému je připojena Arduino deska, v příkladech otevřete náčrtek, Arduino ISP a vyplníme jej do desky. Potřebujeme také drát pro rychlé připojení k Attiny.


Spojení je následující:

D11 - P0
D12 - P1
D13 - P2
D10 - P5

Nezapomeňte na výživu Attiny.

Krok 9 Upravte a vyplňte náčrt.

Stáhněte si skicu

Před vyplněním je třeba upravit náčrt.
Integrovaný senzor ds18b20, jak bylo uvedeno výše, pracuje s použitím protokolu One Wire. Každý senzor má svou jedinečnou 64bitovou adresu. Musíte najít adresu senzoru a napsat ji do náčrtu. Otevřete Arduino IDE, sledujte cestu:
Soubor - Příklady - Dallas Temperature - OneWireSearch.

Vyplňte náčrt do Arduina. Otevřete monitor portu. Měli byste vidět adresy všech připojených senzorů a jejich teplotu. Zapíšeme vaši adresu. Otevřete moji skicu a změňte adresu na svou vlastní v řádku:

byte addr [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};


Chcete-li upravit průběh hodin, použijte následující konstantu:

if (micros () - prevmicros> [b] 497000 [/ b]) 


Čím větší je tato hodnota, tím pomaleji jsou hodiny.
Pro ovládání jsou na obrazovce zobrazeny sekundy:

OzOled.printNumber ((long) sek, 0, 7); // výstupní sekundy pro přesné ladění 


Chcete-li odebrat sekundy, okomentujte tento řádek.
Nyní připojíme programátor nebo Arduino jako programátor, vybereme com-port, vybereme naši desku v nabídce Nástroje a nastavíme následující parametry:
Strava: Attiny 25/45/85
Procesor: Attiny 85
Hodiny: vnitřní 16
Poté vyberte ve stejné nabídce:
Nástroje - Programátor - "Arduino jako ISP".
A konečně:
Skica - Stahování prostřednictvím programátoru

Krok 10 Konečná montáž a spuštění.
Vypněte programátor a připojte senzor, napájení a tlačítko:


Dokud nebude nakonfigurován přesný průběh hodin, můžete případ uzavřít pomocí bankovní gumy. Až budete hotovi, můžete ji přilepit.


Sledujte hodnocení
Hlasů celkem: 13
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
9 komentáře
Autor
Myšlenka je skvělá. S tím jsem něco udělal. Pouze na mých špičkách byla proměnná 5 kΩ. Zahrnul jsem to do spodního ramene. A pak nahrazen nejvhodnějším trvalým. Ale ve výrobních pokynech si myslím, že to není nutné. Proč tato měření neprovedete několikrát.
Neviděl jsem potřebu psát o únavných a dlouhých zkouškách.
Není třeba dělat nic dlouhého a únavného. Zapněte rezistor (2,7 ... 3) kOhm ve spodní části paže, postupně s ním ořezávač 1 kOhm. Z nastavitelného zdroje energie zadáváte na vstup extrémní hodnoty regulovaného napětí, upravujete pracovní bod, pak můžete změřit odpor trimru a nahradit jej konstantním odporem.
Autor
Při frekvenci 8 MHz jsem se nepokoušel spustit hodiny a podle toho změřit přesnost kurzu. Všechna měření byla provedena zevnitř na 16. Ani o měsíci nemůžu říct. Doposud bez odstavení pracovali maximálně týden. Pokusy a vylepšení stále probíhají.
Autor
Pokud jde o dělič napětí, existuje opravdu spousta nuancí a chyb. A rozptyl odporu rezistorů a rozptyl referenčního napětí. V praxi jsem to všechno vyzkoušel. Při použití rezistoru 3,6 kΩ i při napětí baterie 3,9 V zobrazuje analogový port Attiny 1023 (při převodu na 100% procent). Při použití rezistoru 3,3 kΩ klesne hodnota analogového portu již na 4,1 V na baterii. Proto jsem napsal, že svědectví se získává přesněji, prostě jsem neviděl potřebu psát o nudných a dlouhých soudech.
Autor
Hodiny jsem nastavil na týden, každý den nebo častěji jsem upravoval jeho průběh. Výsledkem je, že při hodnotě 497343 spěchají asi 10 sekund týdně.
Frekvence lze snížit. Parametr jsem nezměnil, nebylo třeba
Jaká je přesnost 8-MHz RC hodin? Za měsíc?
a proč Hodiny: interní 16?
Je lepší zvolit méně, pak jsou údaje přesnější.
Ne přesněji, ale jednoduše by vstupní napětí mělo být menší než referenční. Kromě toho ve svém uvažování absolutně nezohledňujete rozšíření parametrů: odpory, s největší pravděpodobností budete mít pět procent, Vbg = (1,0 ... 1,2) V. Takže 3,3 kOhm se může ukázat jako příliš velké, a možná 3,6 kOhms.
Autor
Pokud použijete výstupní napětí 3,6, dostaneme 1,11. Ačkoli ne moc, ale více referenční napětí. Při použití 3,3 - 1,04. Je lepší zvolit méně, pak jsou údaje přesnější.
A pokud jde o Oh, máte pravdu, jen jsem nevěnoval pozornost tomuto drobnému detailu.
Po nalepení pouzdra lze přístup k nabíjecí zásuvce a knoflíkům získat ze spodní části hodinek odříznutím spodního krytu nebo jednoduše nelepením.
Pak R2 dostaneme 3,55 KOhm, nejbližší ze standardních hodnot 3,3 KOhm,
Vůbec ne. Nejbližší E24 ve standardním rozsahu je 3,6 kOhm. A mimochodem, ne „KOhm, ale“ KOhm.
Dokud nebude nakonfigurován přesný průběh hodin, můžete případ uzavřít pomocí bankovní gumy. Až budete hotovi, můžete ji přilepit.
Jak nabijeme baterii?
A jak manipulovat s tlačítkem?

Doporučujeme si přečíst:

Podejte to pro smartphone ...