» elektronika » Arduino »Óra hőmérővel Attinyon

Attiny hőmérő óra

Attiny hőmérő óra



Üdvözlet mindenkinek, kellemes napot vagy estét. Ezúttal megosztom az utasításokat a szobai óra elkészítéséhez egy hőmérővel. Az órák számítástechnikai központja Attiny85 lesz, amelyet a Digispark táblájára szerelnek össze. Az óra megjelenítéséhez - Oled kijelzés. Hőmérő - a jól ismert ds18b20. Teljesítményként a li-ion 18650-et vesszük (egy régi laptop akkumulátorából beszerezhetők). És adjon hozzá egy kijelzőt az akkumulátor töltöttségi szintjéről. Mint minden korábbi órámban, az RTC (real time clock) modul nélkül is megtesszük.

Mindent összegyűjtünk, ami szükséges:

- Digispark Attiny85 (mikro-USB verzió)
- ds18b20 (műanyag tokban)
- Oled képernyő 128x64 felbontással, I2C
- 2db 18650 elem vagy egy régi Li-ion laptop akkumulátor
- Ellenállások (3,3 kΩ, 4,7 kΩ, 10 kΩ)
- Vékony műanyag (házhoz)
- Különböző színű csatlakozó vezetékek
- ISP programozó (vagy bármilyen) Arduino díj)
- Gomb
- Dupont csatlakozók 2,54 mm "anya", "apa"
- Írószer kés, kétoldalas szalag, elektromos szalag, meleg olvadék
- Minden forrasztáshoz (forrasztópáka, kolofon, forrasztás)

1. lépés Eset.
A jövőbeni óratok vékony műanyagból készül. Lehet vásárolni egy ilyen műanyag lemezt egy speciális üzletben, vagy megrendelheti az aliexpress-en. Vagy megteheti (ne várjon, és ne nézzen), hogy elmenjen az irodai irodába és vásároljon kedvenc színű műanyag papírmappát. A jövő órájának méretei: szélesség - 40 mm, vastagság - 30 mm, magasság - 70 mm. Az alábbi ábra szerint kivágtunk egy letapogatást műanyagból:


Vágunk vastag vonalak mentén, óvatosan hajlítsuk vékony vonal mentén. A téglalapot közepén kivágtuk egy irodai késsel, ez egy megjelenítési ablak. Ennek eredményeként műanyag beolvasást kapunk:


Átjutunk Attiny-hoz.

2. lépés Attiny + Oled.
Mint mondtam, a szívünkben házi Attiny 85 lesz. A legjobb, ha megvásárolja ezt a forgácsot, amelyet azonnal forrasztunk a táblára, feszültségszabályozóval és kábelköteggel együtt. A Digispark Attiny85 kiválóan alkalmas. Válassza ki a verziót a micro-USB-vel a táblán. A tábla többi módosítása nem lesz mérete. Előfordul, hogy ezt a kártyát már megforrasztott Dupon „male” csatlakozókkal értékesítik. Ha igen, forrasztja meg az összes csatlakozót. Összegyűjtjük a színes huzalokat. 10 centiméterre kell különféle színekben. Forrasztjuk őket Attiny-ban és felírjuk, melyik huzalra melyik következtetés felel meg. A P0 és P2 vezetékeket két huzalban kell megforrasztani. A második párra szükség van az Oled képernyő csatlakoztatásához. A következőket kapjuk:


A következő rajzot írtam a huzalra:


A képernyő kicsi (hogy megfeleljen a vezérlőnek), de gyönyörűnek néz ki. Az OLED (organikus fénykibocsátó dióda) egy grafikus kijelző. Nincs háttérvilágítás, ehelyett minden pixel független LED. Képernyőméret - 0,96 hüvelyk.Felbontás 128x64. Az I2C buszon keresztül csatlakozik. Csak két vezetéket használ az Attiny-hoz való csatlakozáshoz. Különböző színűek, ízlés szerint választanak. Tetszett a kék, tetején egy sárga csíkkal. A Digispark-hoz hasonlóan viselkedünk. Ha vannak forrasztott csatlakozók - forrasztja meg őket. Forrasztás, jelenleg csak a tápvezetékek:


Forrasztás közben legyen óvatos, ne sértse meg a kábelt a kijelzőn található forrasztópáka segítségével:


A táblákat kétoldalas szalaggal kötik össze:


A Digispark Attiny és az Oled kijelzőt a terv szerint együtt forrasztjuk (a huzalok színei változhatnak, a lényeg az, hogy ne zavarjuk a következtetéseket):


A kényelem és a rend érdekében az összes vezetéket összegyűjtjük. Csavarhatja őket elektromos szalaggal, hogy ne zavarja meg őket:


Az összes huzal végén rögzítjük a Dupont „női” csatlakozót, dugjuk be a szigetelőkbe, és az elektromos szalaggal összetekerve készítjük a csatlakozót. Felvesszük a csatlakozó kivitelét is:


A pinoutnak ilyennek kell lennie, mivel a jövőben firmware vagy más óraelemek vezetékét csatlakoztatjuk a csatlakozóhoz.
A kapott szerkezetet ragasztjuk be a tokba, és ne felejtsük el maga a tokot is ragasztani, miközben egy nyögést nem ragasztunk hozzá a további manipulációkhoz:


Ragasztáskor ügyeljen arra, hogy a képernyő egyenletes legyen:


3. lépés Teljesítmény.
Teljesítményként két Li-ion elemet fogunk használni. Típus 18650. Külön megvásárolható. Ebben az esetben párhuzamosan forrasztja meg őket, szigetelje le és adja ki a csatlakozót a csatlakoztatáshoz és az azt követő töltéshez:


Sokan régebbi laptopokkal rendelkeznek. Akár már nem dolgoznak, akár időről időre dolgoznak. Még ha a laptop akkumulátora is már rossz és nem megfelelő a rendeltetésszerű használatához, akkor mindenféle házi készítésű termékhez használható. Esetünkben egy órára. Az akkumulátort a laptopból vesszük:


A lényeg az, hogy Li-ion legyen. Óvatosan szétszereljük, kinyitnia kell a műanyag házat, hogy ne sérüljön meg a benne található elem. Az akkumulátort leggyakrabban két, egymással párhuzamosan csatlakoztatott elemre osztják. Kivesszük őket és elválasztunk egy pár a többitől:


A legjobb forrasztani az érintkező párnákhoz:


Ragasztja ezt a pár az óra hátuljára:


4. lépés Az akkumulátor töltésének meghatározása.
Az óra kényelmes funkciója az akkumulátor töltöttségének jelzése. A töltés mértékét feszültség alapján határozzuk meg. Ezeknek az akkumulátoroknak a minimális feszültsége 2,4 V. Ez nem tovább üríthető. A maximális feszültség 4,2 V.

A feszültségmérés az analóg porton mindig valamilyen más feszültséghez viszonyítva. Nem használhatjuk a mikrokontroller AREF tűjét, amely a referenciafeszültség beállítására szolgál. Ugyancsak lehetetlen megmérni a feszültséget a tápfeszültséghez viszonyítva (az arány mindig ugyanaz lesz). Ezért meghatározzuk a feszültséget a belső referenciafeszültséghez vagy a Vbg-hez (Bandgap referenciafeszültség) viszonyítva. 1,1 V. Most ki kell számolnunk az akkumulátor feszültség-megosztóját, úgy, hogy maximális töltésnél (4,2 V) az elválasztó rendelkezzen (1,1 V). Kiszámíthatja a képlet alapján:



Vagy használja

Az R1 névleges értéke 10 kOhm. Ezután R2 kapunk 3,55 KOhm-ot, a legmegfelelőbbet a 3,3 KOhm-os standard értékekből, és vegyük. A méréseket a belső feszültség és a GND között végezzük, így a 3,3 KΩ ellenállást a mínuszra, a 10 KΩ-t pedig a pluszra forrasztjuk. Helyezzük az ellenállásokat az akkumulátorra, és húzzuk ki a huzalt az elválasztóról.


Az összes érintkezőt elkülönítjük a rövidzár elkerülése érdekében:


Az elválasztó vezetéke a PB4-hez csatlakozik.

5. lépés Mérje meg a hőmérsékletet.
Az óra kiváló kiegészítése a szobahőmérséklet mérése. A DS18B20 beépített hőmérséklet-érzékelőt fogjuk használni. Ahhoz, hogy vele dolgozzon, csak egy huzalra van szükség (nagyon hasznos az Attiny 85 használatakor). Minden mérést saját maga végez, a központi vezérlő nem zavarja (az Attiny 85 memória is kiváló és nagyon kevés), csak parancsokat kell adnunk és eredményeket kell kapnunk. Számos különféle módszer létezik ennek az érzékelőnek a csatlakoztatására, véleményünk szerint erre az esetre optimális lehetőséget fogunk használni.Külső teljesítmény és 4,7 kΩ ellenállás felhasználásával:


Forrasztjon fel kis vezetékeket, és rögzítse a csatlakozókat


A DQ érzékelő vezetéke csatlakozik a PB 3-hoz.

6. lépés gomb.
Kevés következtetésünk van, de az órákra számos követelmény vonatkozik. Az egyik gombot fogjuk használni az idő beállításához. Nem számíthatunk többre. Forrasztja meg a vezetékeket a gombhoz, egy érintkező a GND felé. Kombinálja a hőmérséklet-érzékelőnkkel:


A gomb második érintkezője a PB 1-hez van csatlakoztatva.

7. lépés: A fejlesztési környezet előkészítése
A vázlat további munkájához, valamint szerkesztéséhez és kitöltéséhez szükségünk van az Arduino IDE-re. Töltse le ezt a programot:

Most hozzáadja az Attiny 85 támogatását szerdán. Nyissa meg az Arduion IDE-t, és menjen az ösvényen:
Fájl - Beállítások - "További Boards Manager URL-ek" illessze be a linket:

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


Kattintson az OK gombra.
Ugrás:
Eszközök - Tábla - A Táblázatkezelő lépjen be Attinyba és kattintson a „David A. Mellis attiny” elemére. Kattintson az "Install" gombra, és hagyja eltenni a kávét.
És most a könyvtárakról. Kettőre van szükségük:

Az Oled kijelző használata

Hőmérséklet-érzékelő vezérlése

Miután letöltötte ezeket az archívumokat, csomagolja ki őket a „könyvtárak” mappába, amely könnyen megtalálható az Arduino IDE telepítési útvonalán.

8. lépés: Programozó.
A Digispark Attiny 85 nagyszerű tábla. Úgy tervezték, hogy csatlakozzon egy USB számítógéphez. És rajta keresztül programozható. Az Attiny azonban egy szoftver USB-t használ, amely viszont 2 KB, 8 KB memóriát igényel. Ez nem felel meg nekünk, ezért az Attiny 85-et az ISP felületen keresztül villogjuk. És itt szükségünk van egy ISP programozóra. Ha nincs ott - nem számít. Menj az Arduinóba. Az én esetemben, Arduino UNO:


Bármilyen más kompatibilis táblát felvehet az Arduino sorozatból. Csatlakozunk a számítógéphez, nyissuk meg az Arduino IDE-t, válasszuk ki azt a portot, amelyhez az Arduino tábla csatlakozik, nyissuk meg a vázlatot a példákban, az Arduino ISP-t, és töltsük be a táblába. Szükségünk van egy vezetékre is, hogy gyorsan csatlakozhassunk Attiny-hoz.


A kapcsolat a következő:

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

Ne felejtsük el az Attiny táplálkozást.

9. lépés Szerkessze és töltse ki a vázlatot.

Töltse le a vázlatot

Töltés előtt szerkesztnie kell a vázlatot.
A ds18b20 integrált érzékelő, ahogy korábban említettük, az egyvezetékes protokollon működik. Minden érzékelőnek megvan a saját egyedi 64 bites címe. Meg kell találnia az érzékelő címét, és vázlatba kell írni. Nyissa meg az Arduino IDE-t, kövesse az utat:
Fájl - Példák - Dallas hőmérséklet - OneWireSearch.

Töltse ki a vázlatot Arduino-ba. Nyissa meg a portmonitorot. Látnia kell az összes csatlakoztatott érzékelő címét és hőmérsékleti adatait. Írjuk le a címét. Nyissa meg a vázlatomat, és változtassa meg a címet a sajátnak a sorban:

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


Az óra előrehaladásának beállításához használja a következő állandót:

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


Minél nagyobb ez az érték, annál lassabb az óra.
A vezérlés érdekében a képernyőn másodpercek jelennek meg:

OzOled.printNumber ((hosszú) sek, 0, 7); // kimeneti másodperc a pontos hangoláshoz 


Kommentáld ezt a sort a másodpercek eltávolításához.
Most összekapcsoljuk a programozót vagy az Arduino-t, mint programozót, válasszuk ki a com-portot, válasszuk a táblánkat az Eszközök menüben, és állítsuk be a következő paramétereket:
Tanács: Attiny 25/45/85
Feldolgozó: Attiny 85
Óra: belső 16
Ezután válassza ki ugyanabban a menüben:
Eszközök - Programozó - "Arduino as ISP".
És végül:
Vázlat - Töltse le a programozón keresztül

10. lépés A végső összeszerelés és elindítás.
Kapcsolja ki a programozót, és csatlakoztassa az érzékelőt, a tápegységet és a gombot:


Amíg az óra pontos menetét nem állítja be, az ügyet bankgumi segítségével bezárhatja. Ha kész, ragaszthatja.


Nézze meg az értékelést
Összes szavazat: 13
10
10
10

Adj hozzá egy megjegyzést

    • smilemosolyogxaxarendbendontknowjehunea
      főnökkarcolásbolondigenigen-igenagresszívtitok
      Bocsánattáncdance2dance3megbocsátássegítségitalok
      megállásbarátokjógoodgoodsípájulásnyelv
      füsttapsolóCrayállapítsagúnyosdon-t_mentionletöltés
      hőségingerültlaugh1MDAtalálkozómoskingnegatív
      not_ipopcornbüntetolvasmegijesztijesztkeresés
      gúnyolódásthank_youeztto_clueumnikakutegyetért
      rosszbeeeblack_eyeblum3pírdicsekvésunalom
      cenzúrázottvidámságsecret2fenyegetgyőzelemyusun_bespectacled
      ShokRespektlolprevedfogadtatáskrutoyya_za
      ya_dobryisegítőne_huliganne_othodiFLUDtilalomközel
9 megjegyzés
A szerző
Az ötlet nagyszerű. Csináltam valamit erről. Csak kéznél volt egy 5 kΩ-os változó. Beillesztettem az alsó vállba. Aztán helyettesíti a legmegfelelőbb állandóval. De a gyártási utasításokban azt hiszem, hogy felesleges írni. Miért nem hajtja végre ezeket a méréseket többször.
Nem láttam, hogy unalmas és hosszú tárgyalásokról kellene írni.
Nem kell tennie semmit, hosszú és unalmas. Kapcsolja be az ellenállást (2.7 ... 3) kOhm az alkarban, egymás után 1 kOhm trimmerrel. Egy állítható áramforrásból beadhatja a vezérelt feszültség szélsőséges értékeit a bemenethez, beállíthatja a működési pontot, majd kívánt esetben meg tudja mérni a trimmer ellenállását, és egy állandó ellenállásra cserélheti.
A szerző
8 MHz frekvencián nem próbáltam elindítani az órát, és ennek megfelelően megmértem a pálya pontosságát. Az összes mérést belülről 16-kor végeztük. A hónapról sem mondhatok. Eddig bezárás nélkül maximum egy hetet dolgoztak. A kísérletek és fejlesztések még folyamatban vannak.
A szerző
A feszültség-elosztóval kapcsolatban valóban nagyon sok árnyalat és hiba van. És az ellenállások ellenállásának szétszórása és a referenciafeszültség szórása. Mindent megpróbáltam a gyakorlatban. 3,6 kΩ-os ellenállás használata esetén, még 3,9 V-os akkumulátor-feszültség esetén is, az Attiny analóg port 1023-at mutat (100% -ra konvertálva). 3,3 kΩ-os ellenállás használata esetén az analóg port értéke még az akkumulátor 4,1 V-nál is csökken. Ezért azt írtam, hogy a vallomást pontosabban szerezzék meg, csak nem láttam szükségem az unalmas és hosszú tárgyalásokról.
A szerző
Beállítottam egy hétig az órát, minden nap vagy gyakrabban beállítottam az előrehaladást. Ennek eredményeként 497343 értékben hetente körülbelül 10 másodpercig rohannak.
A frekvencia csökkenthető. Nem változtattam meg a paramétert, nincs rá szükség
Nos, és mi a pontossága a 8 MHz-es RC-óranak? Havonta?
és miért az óra: belső 16?
Jobb, ha kevesebbet választunk, akkor a leolvasások pontosabbak.
Nem pontosabban, hanem egyszerűen a bemeneti feszültségnek kevesebbnek kell lennie, mint a referencia. Ezenkívül az érvelésében egyáltalán nem veszi figyelembe a paraméterek eloszlását: az ellenállások valószínűleg öt százalékkal rendelkeznek, Vbg = (1,0 ... 1,2) V. Tehát a 3,3 kOhm túl nagynak bizonyulhat, és talán 3,6 kOhms fog megtenni.
A szerző
Ha 3.6 kimeneti feszültséget használunk, akkor 1,11 lesz. Bár nem sok, de több referenciafeszültség. 3.3 - 1.04 használatakor. Jobb, ha kevesebbet választunk, akkor a leolvasások pontosabbak.
És ami az Ó, igazad van, csak nem figyeltem erre a kisebb részletre.
A ház ragasztása után a töltőaljzathoz és a gombokhoz az óra aljáról lehet hozzáférni, lecserélve az alsó fedelet vagy egyszerűen nem ragasztva rá.
Akkor R2 kap 3,55 KOhm-ot, amely a legközelebbi a 3,3 KOhm standard értékekhez,
Egyáltalán nem. A legközelebbi E24 a standard tartományban 3,6 kOhm. És egyébként nem "KOhm", hanem "KOhm".
Amíg az óra pontos menetét nem állítja be, az ügyet bankgumi segítségével bezárhatja. Ha kész, ragaszthatja.
Hogyan töltjük fel az akkumulátort?
És hogyan lehet manipulálni a gombot?

Azt javasoljuk, hogy olvassa el:

Adja át az okostelefon számára ...