Ahoj všetci a pekný deň alebo večer. Tentokrát budem zdieľať pokyny na výrobu izbových hodín s teplomerom. Výpočtovým centrom hodiniek bude Attiny85, zostavený na doske spoločnosti Digispark. Zobrazenie hodín - Oled. Teplomer - známy ds18b20. Pre napájanie berieme Li-ion 18650 (dajú sa získať zo starej batérie z notebooku). A pridajte zobrazenie úrovne nabitia batérie. Rovnako ako vo všetkých mojich predchádzajúcich sledovaniach, aj bez modulu RTC (hodiny v reálnom čase) sa obídeme.
Zhromažďujeme všetko potrebné:
- Digispark Attiny85 (verzia micro USB)
- ds18b20 (v plastovom obale)
- Oledová obrazovka s rozlíšením 128x64, I2C
- 2ks 18650 batérií alebo stará Li-ion batéria pre laptop
- rezistory (3,3 kΩ, 4,7 kΩ, 10 kΩ)
- Tenký plast (na bývanie)
- Spojovacie vodiče rôznych farieb
- ISP programátor (alebo iný) Arduino za poplatok)
- Tlačidlo
- Dupontové konektory 2,54 mm „matka“, „otec“
- kancelársky nôž, obojstranná páska, elektrická páska, tavenina
- Všetko na spájkovanie (spájkovačka, kolofónia, spájka)
Krok 1 Prípad.
Budúce puzdro na hodinky bude vyrobené z tenkého plastu. List takéhoto plastu si môžete kúpiť v špecializovanom obchode alebo si objednať na aliexpress. Alebo môžete (nečakať a nepozerať sa) chodiť do kancelárskej kancelárie a kúpiť si plastovú papierovú zložku svojej obľúbenej farby. Rozmery budúcich hodiniek: šírka - 40 mm, hrúbka - 30 mm, výška - 70 mm. Podľa nasledujúceho obrázka sme vyrezali skenovanie z plastu:
Rezáme pozdĺž hrubých čiar, jemne sa ohýbame pozdĺž tenkých čiar. Vystrihli sme obdĺžnik uprostred pomocou kancelárskeho noža, toto je okno na zobrazenie. Výsledkom je sken plastu:
Prejdeme do Attiny.
Krok 2 Attiny + Oled.
Ako som povedal, v našom srdci domáci bude Attiny 85. Najlepšie je kúpiť tento čip, okamžite spájkovaný na dosku spolu s regulátorom napätia a postrojom. Digispark Attiny85 sa veľmi dobre hodí. Vyberte si verziu s micro-USB na doske. Ostatné úpravy dosky sa nezmestia na veľkosť. Stáva sa, že táto doska sa predáva s spájkovanými konektormi Dupon. Ak áno, spájkujte všetky konektory. Zbierame farebné drôty. Potrebujeme 10 centimetrov v rôznych farbách. Spájkujeme ich v Attine a napíšeme, ktorý drôt, ktorému záveru zodpovedá. Vodiče P0 a P2 musia byť spájkované dvoma vodičmi. Druhý pár je potrebný na pripojenie obrazovky Oled. Dostávame nasledujúce:
Na vodič som napísal nasledujúci diagram:
Obrazovka je malá (tak, aby zodpovedala ovládaču), ale vyzerá to krásne. OLED (organická svetelná dióda) je grafické zobrazenie. Nie je podsvietenie a namiesto toho je každý pixel samostatnou diódou LED. Veľkosti obrazovky - 0,96 palca.Rozlíšenie 128x64. Pripojené cez zbernicu I2C. Na pripojenie k Attiny sa používajú iba dva káble. Prichádzajú v rôznych farbách, vyberajú podľa vášho vkusu. Páčilo sa mi modré s žltým pruhom hore. Konáme podobne ako Digispark. Ak existujú spájkované konektory - spájkujte ich. Spájka, zatiaľ len napájacie vodiče:
Pri spájkovaní buďte opatrní, nepoškodite kábel spájkou na displeji:
Dosky spájame pomocou obojstrannej pásky:
Spájkujeme displeje Digispark Attiny a Oled spoločne podľa schémy (farby drôtov sa môžu líšiť, hlavnou vecou nie je pokaziť závery):
Z dôvodu pohodlia a objednávky zhromažďujeme všetky káble dohromady. Môžete ich skrútiť elektrickou páskou, aby ste sa nezamieňali:
Na koniec všetkých vodičov pripojíme „samičí“ konektor Dupont, vložíme ho do izolátorov a obalíme elektrickou páskou tak, aby sa vytvoril konektor. Zaznamenávame tiež pinout konektora:
Pinout by mal byť taký, pretože v budúcnosti pripojíme drôt pre firmvér alebo iné prvky hodiniek ku konektoru.
Výslednú štruktúru nalepíme do puzdra a nezabudnite na prípadnú lepšiu manipuláciu prilepiť aj samotný puzdro, pričom jeden ston nie je zlepený.
Pri lepení dbajte na to, aby obrazovka bola rovnomerná:
Krok 3 Napájanie.
Na napájanie použijeme dva lítium-iónové prvky. Typ 18650. Môžete si ich kúpiť samostatne. V takom prípade ich spájkujte paralelne, izolujte a vydajte konektor na pripojenie a následné nabíjanie:
Mnohé majú staršie notebooky. Či už nepracujú alebo nepracujú v priebehu času. Aj keď je batéria prenosného počítača už zlá a nie je vhodná na zamýšľané použitie, dá sa použiť na všetky druhy domácich výrobkov. V našom prípade na hodinky. Berieme batériu z notebooku:
Hlavná vec je, že je Li-ion. Opatrne ho rozoberte, musíte otvoriť plastové puzdro, aby ste nepoškodili prvok vo vnútri. Najčastejšie je batéria rozdelená na dva prvky spojené paralelne. Vyberieme ich a oddelíme jeden pár od ostatných:
Najlepšie je spájkovanie s kontaktnými doštičkami:
Prilepte tento pár na zadnú stranu hodiniek:
Krok 4 Určenie stavu nabitia batérie.
Pohodlnou funkciou hodiniek je indikácia nabitia batérie. Určíme stupeň nabitia napätím. Minimálne napätie pre tieto batérie je 2,4 V. Nie je možné ďalej vybíjať. Maximálne napätie je 4,2 V.
Meranie napätia na analógovom porte je vždy relatívne k inému napätiu. Nemôžeme použiť kolík AREF mikrokontroléra, ktorý slúži na nastavenie referenčného napätia. Je tiež nemožné zmerať napätie vzhľadom na napájacie napätie (pomer bude vždy rovnaký). Preto určíme napätie vo vzťahu k internému referenčnému napätiu alebo Vbg (referenčné napätie Bandgap). Je to 1,1 V. Teraz musíme vypočítať delič napätia pre našu batériu, takže pri maximálnom nabití (4,2 V) mal delič (1,1 V). Môžete vypočítať podľa vzorca:
Alebo použiť
R1 má nominálnu hodnotu 10 kOhm. Potom R2 dostaneme 3,55 KOhm, najbližšie vhodné zo štandardných hodnôt 3,3 KOhm a vezmeme ho. Merajú sa medzi vnútorným napätím a GND, takže rezistor 3,3 KΩ je spájkovaný na mínus a 10 KΩ na plus. Umiestnime odpory na batériu, stiahneme drôt z deliča.
Izolujeme všetky kontakty, aby sme predišli skratu:
Drôt z deliča bude pripojený k PB4.
Krok 5 Zmerajte teplotu.
Vynikajúcim doplnkom hodiniek je meranie teploty miestnosti. Použijeme integrovaný snímač teploty DS18B20. Na prácu s ním je potrebný iba jeden vodič (veľmi užitočné pri používaní Attiny 85). Všetky merania sa vykonávajú sám, centrálny ovládač sa neobťažuje (Attiny 85 má tiež vynikajúcu pamäť a tak málo), musíme iba zadávať príkazy a dosahovať výsledky. Na pripojenie tohto senzora existuje niekoľko rôznych schém. Podľa môjho názoru použijeme optimálnu možnosť pre tento prípad.Použitie externého napájania a odporu 4,7 kΩ:
Spájkujte malé drôty a upevnite konektory
Drôt zo snímača DQ je pripojený k PB 3.
Krok 6 Tlačidlo.
Máme niekoľko záverov, ale existuje veľa požiadaviek na hodinky. Na nastavenie času použijeme jedno tlačidlo. Nemôžeme sa spoľahnúť na viac. Spájkujte vodiče k tlačidlu, jeden kontakt od GND. Kombinujte s naším teplotným senzorom:
Druhý kontakt z tlačidla je pripojený k PB 1.
Krok 7 Príprava vývojového prostredia
Pre ďalšiu prácu s náčrtom, ako aj s jeho úpravami a vypĺňaním potrebujeme Arduino IDE. Stiahnite si tento program z:
Teraz pridajte podporu pre Attiny 85 v stredu. Otvorte Arduion IDE a choďte po ceste:
Súbor - Nastavenia - „Doplňujúce adresy URL Správcu dosiek“ vložte odkaz:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Kliknite na tlačidlo OK.
Prejsť na:
Tools - Board - Boards Manager zadajte Attiny a kliknite na „attiny by David A. Mellis“. Kliknite na tlačidlo Inštalovať a nechajte kávu položiť.
A teraz o knižniciach. Potrebujú dve:
Práca s displejom Oled
Ovládanie snímača teploty
Po stiahnutí týchto archívov ich rozbaľte do priečinka „knižnice“, ktorý je ľahké nájsť po inštalačnej ceste Arduino IDE.
Krok 8 Programátor.
Digispark Attiny 85 je skvelá doska. Navrhnuté na pripojenie k počítaču USB. A to sa dá naprogramovať. Attiny však používa softvérové USB, ktoré zase zaberá 2 KB z 8 KB pamäte. To nám nevyhovuje, a preto budeme prostredníctvom rozhrania ISP blikať Attiny 85. A tu potrebujeme programátora ISP. Ak tam nie je, nezáleží na tom. Vezmite Arduino. V mojom prípade Arduino UNO:
Z rady Arduino si môžete vziať akúkoľvek inú kompatibilnú dosku. Pripojíme sa k počítaču, otvoríme Arduino IDE, vyberieme com port, ku ktorému je pripojená doska Arduino, v príkladoch otvoríme náčrt, Arduino ISP a vložíme ho do dosky. Potrebujeme tiež drôt na rýchle pripojenie k Attiny.
Spojenie je nasledujúce:
D11 - P0
D12 - P1
D13 - P2
D10 - P5
Nezabudnite na výživu Attiny.
Krok 9 Upravte a vyplňte náčrt.
Stiahnite si skicu
Pred vyplnením musíte skicu upraviť.
Integrovaný senzor ds18b20, ako už bolo spomenuté, pracuje pomocou protokolu One Wire. Každý senzor má svoju vlastnú jedinečnú 64-bitovú adresu. Musíte nájsť adresu senzora a napísať ju do náčrtu. Otvorte Arduino IDE a postupujte podľa pokynov:
Súbor - príklady - Dallas Temperature - OneWireSearch.
Vyplňte náčrt do Arduina. Otvorte monitor portu. Mali by ste vidieť adresy všetkých pripojených snímačov a ich hodnoty teploty. Vašu adresu si zapíšeme. Otvorte moju náčrt a v riadku zmeňte adresu na svoju vlastnú:
byte addr [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};
Ak chcete upraviť priebeh hodín, použite túto konštantu:
if (micros () - prevmicros> [b] 497000 [/ b])
Čím väčšia je táto hodnota, tým pomalšie sú hodiny.
Na ovládanie sa na obrazovke zobrazujú sekundy:
OzOled.printNumber ((long) sek, 0, 7); // výstupné sekundy na presné ladenie
Ak chcete odstrániť sekundy, okomentujte tento riadok.
Teraz prepojíme programátor alebo Arduino ako programátor, vyberieme com-port, vyberieme našu dosku v ponuke Nástroje a nastavíme nasledujúce parametre:
Stravovanie: Attiny 25/45/85
Spracovateľ: Attiny 85
Hodiny: vnútorné 16
Potom vyberte v rovnakej ponuke:
Nástroje - Programátor - „Arduino ako ISP“.
A nakoniec:
Skica - sťahovanie prostredníctvom programátora
Krok 10 Finálna montáž a spustenie.
Vypnite programátor a pripojte snímač, napájanie a tlačidlo:
Pokiaľ nenastavíte presný priebeh hodín, môžete puzdro uzavrieť pomocou gumovej gumy. Po dokončení ho môžete prilepiť.