Amit szükségünk van:
- Digispark Attiny85
- Oled kijelző 128x64 I2C
- ds18b20 hőmérséklet-érzékelő
- Ellenállás 4,7 Kom 0,25 W
- ISP programozó vagy Arduino Digispark Attiny85 firmware tábla
- Műanyag tabletta gémkapocslal vagy vékony műanyag lappal
- vezetékek
- Dupont 2,54 mm-es „női” csatlakozók
- Gombok 2 db
- Kis áramköri lap vagy kicsi burkolat
- forrasztópáka
- Forrasztott, kolofon
- olló
- író kés
- Forró ragasztópisztoly
- Forró ragasztó
1. lépés: Összetevők kiválasztása.
Fő vezérlőként a Digispark Attiny85-et fogjuk használni. Különböző típusú lehet. Szüksége van egy mikro USB-csatlakozóval ellátott táblára. A többi nem fog beleférni az órába.
A megjelenítéshez szükség van egy Oled 128x64 I2C kijelzőre. Különböző színben kaphatók: fehér, kék, kék, sárga. Felhívom a figyelmet! A „kétszínű” kifejezés a képernyő leírásában vagy címében azt jelenti, hogy az egyik szín a képernyő tetején, a második pedig a teljes képernyőt színezi, és nem képesek két szín megjelenítésére ezen a képernyőn! Az összes ilyen típusú képernyő csak egy színt jelenít meg, vagy tetején egy színű csík alul - egy másik. Például az, amit használni fogok. A fenti sáv sárga, a képernyő többi része kék. Bármelyik színt kiválaszthatja.
Szükségünk van a DS18B20 beépített hőmérséklet-érzékelőre is. Nem véletlenül választották meg. Először, a DS18B20 egyvezetékes kommunikációs vonalon keresztül kommunikál a mikrovezérlővel az 1-vezetékes interfész protokoll használatával. Esetünkben ez fontos, mivel az Attiny85 érzékelő nélküli következtetései kevés. Másodszor, ez az érzékelő egy számjegy, vagyis maga elvégzi az összes mérést, és egyszerűen továbbítja a hőmérsékleti adatokat anélkül, hogy az Attiny85 számítási erőforrásait felhasználná.
Ami a többit illeti, azt hiszem, hogy nem lesz kérdés, tehát folytassuk az ügy gyártásával.
2. lépés A ház összeszerelése.
Az óratok vékony műanyagból készülnek. Volt egy műanyag tabletta, amiben gemkapocs volt a kezemben. Ez elég kemény ahhoz, hogy megőrizze alakját, ugyanakkor szokásos ollóval és irodai késsel vágható. Tökéletesen jött fel.Ha nincs kéznél, akkor vásárolhat tablettát irodaszerek áruházában, vagy megtalálhatja a megfelelő műanyagot a tabletta cseréjéhez. A műanyag jelöléseket a rendszer szerint készítjük:
Vágja ki az összes folytonos vonalat. Pontozott - kissé vágja papírkéssel. A pontozott vonalak hajtogatott vonalak. Mint már megértetted, ez a szokásos kockaelrendezés. Ezután meg kell forrasztani a vezetékeket a képernyőhöz, a legjobb, ha többszínűt vesz fel és írja le, hogy mihez vezet. Ragasztja a képernyőt a forró olvadékragasztó közepére úgy, hogy az első oldala hátulról kilépjen. Mint láthatja, bezártuk a képernyőkímélőket. Ezért ki kellett őket írni. Kissé átadtam a kést, és levágtam a test alsó részét. Nincs semmi baj ebben, minden ragasztható. De jobb, ha nem ismételjük meg a hibáimat.
Az eredménynek így kell lennie:
Ebben az esetben készen áll. A hátlapot ugyanabból a műanyagból kivághatja, de ez nem kötelező.
3. lépés Forrasztjuk.
Esetünk kicsi, és nagyon sokat kell küzdenünk ott. Ezért veszünk egy 2,8 x 2,8 mm-nél nem nagyobb darabot az áramkörtől és forrasztjuk két gombbal, egy ds18b20 érzékelővel, egy ellenállással és több érintkezővel. A következő rendszer szerint:
Nem szükséges forrasztani a vezetékeket közvetlenül az Attiny-hoz, mivel a firmware-hez mindent le kell választani. Az eredménynek ehhez hasonlónak kell lennie:
Gombokra van szükség az idő beállításához. Az áramellátás a számítógép USB portjáról lehetséges. A plusz és a mínusz kombinálása:
Ha vezetékek nélkül szeretne megtenni, keressen egy kis lítium-ion akkumulátort. Íme például:
Ez az akkumulátor belefér a tokba. Csak az akkumulátor töltésével kapcsolatban kell következtetéseket levonni.
4. lépés: A programozó előkészítése.
A Digispark Attiny85 programozható a táblán lévő mikro USB-csatlakozón keresztül, Arduino IDE segítségével programozási környezetként. De ugyanakkor 2 KB memóriát is fel kell áldoznia a rendszerbetöltő számára. Az Attiny 85 összesen 8 KB Flash-del rendelkezik. A vázlatom nem felel meg a rendszerbetöltőnek, tehát az ISP programozón keresztül kell programoznom. Nincs ilyen programozóm, de van Arduino Uno fórum, amelyet programozóként fogok használni. Ha van ISB programozója, kihagyhatja ezt az elemet. Nyissa meg az Arduino IDE-t, és töltse ki az ArduinoISP nevű vázlatunkat az Arduino Uno-ba. Megtalálhatja ezt a fájlt - Példák - Arduino ISP. A vázlat azzal kezdődik, hogy hogyan kell az Arduino-t csatlakoztatni a programozható vezérlőhöz. Arduino Uno helyett bármilyen más Arduino tábla lehet.
// 10: slave reset
// 11: MOSI
// 12: MISO
// 13: SCK
A Digispark Attiny85-hez való csatlakozás sémája:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5
5. lépés: A programozási környezet előkészítése.
A firmware szerkesztéséhez és a vázlat kitöltéséhez az Attiny 85 alkalmazásban nemcsak a programozót, hanem a programozási környezetet is fel kell készítenie. Ehhez telepítse az Arduino IDE-t a hivatalos Arduino.cc webhelyről, és telepítse a mikrovezérlők Attiny kiegészítőjét a Boards Manager segítségével.
Indítsa el az Arduino IDE-t, majd a Fájl - Beállítások - mezőben a Kiegészítő táblák kezelő URL-címei mezőbe illessze be a hivatkozást:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
kattintson az OK gombra (e mezőbe több, vesszővel elválasztott linket is megadhat). Következő eszközök - Fórum - Táblák kezelő a szűrőmezőben, írja be az Attiny gombot és kattintson a "David A. Mellis attiny" elemre. Kattintson a Telepítés elemre, és várja meg, amíg a letöltés befejeződik. Az Eszközök menüben válassza a következőt:
Board - Attiny 25/45/85
Processzor - Attiny 85
Óra - belső 16
és válassza ki azt a soros portot, amelyhez az ISP programozó vagy az Arduino csatlakozik.
Próbáltam sok különféle könyvtárat a képernyővel való munkához. Véleményem szerint a legkényelmesebb és legjobban működő Attiny85: TinyOzOLED.
A hőmérséklet-érzékelőnek szüksége van a OneWire könyvtárra.
Telepítse ezt a két könyvtárat. Telepítheti harmadik fél könyvtárait közvetlenül a programozási környezetbe. A letöltött archívumok kicsomagolása nélkül az Arduino IDE-ben válassza a Sketch - Connect Library menüt. A legördülő lista tetején válassza az Add .Zip könyvtár elemet. A megjelenő párbeszédpanelen válassza ki a hozzáadni kívánt könyvtárat. Nyissa meg újra a Vázlat - Csatlakozás könyvtárat menüt. A legördülő lista alján új könyvtárat kell látnia. Most a könyvtár használható programokban. Ne felejtse el újraindítani az Arduino IDE készüléket.Ha ez nem segít, akkor bontsa ki az archívumokat a „könyvtárak” mappába, amelyben a mappában található az Arduino IDE.
6. lépés Szerkessze és töltse ki a vázlatot.
A hőmérséklet-érzékelő az egyvezetékes protokoll szerint működik, és minden eszköz számára egyedi címmel rendelkezik - 64 bites kóddal. Az elégtelen erőforrások nem elegendőek a kód minden alkalommal történő kereséséhez. Ezért előbb csatlakoznia kell az érzékelőt minden Arduino táblahez, és töltse ki a Fájl - Példák - Dallas hőmérséklet - OneWireSearch menüben található vázlatot. Ezután futtassa az Tools - Port Monitor programot. Arduino-nak meg kell találnia az érzékelőnket, meg kell írni a címét és az aktuális hőmérsékleti értékeket. Másoljuk vagy egyszerűen felírjuk az érzékelőnk címét. Nyissa meg az Attiny85_Oled_SPI_Term_2 vázlatot, keresse meg a sort:
bájt addr [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};
Írjuk le az érzékelő címét a merevítők között, helyettesítve az érzékelő címeit. Ezután csatlakoztassa az Attiny-t a programozóhoz vagy az Arduino-hoz mint programozót (ezt a 4. lépésben írja le), és töltse ki a vázlatot. Fenn kell hagyni a programozó leválasztását, és mindegyik csatlakoztatását a séma szerint 3 lépésben. A közgyűlés kiderül, hogy így van:
A képernyő kicsi, lehetetlen az időt és a hőmérsékletet egyaránt elhelyezni úgy, hogy látható legyen. Ezért az óra 10 másodpercenként megváltoztatja az időt hőmérséklet-leolvasással.