» elektronika » Arduino »Oled órák az Attiny85-en

Oled órák az Attiny85-en

Jó napot, és újra a játékokkal vagyok. Ma bemutatom neked utasításokat a szobahőmérséklet-érzékelővel ellátott kicsi, de aranyos órák készítéséhez.
Oled órák az Attiny85-en


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.
tinyozoled-master.rar [15,99 Kb] (letöltések: 477)


A hőmérséklet-érzékelőnek szüksége van a OneWire könyvtárra.
onewire.rar [16,75 Kb] (letöltések: 263)


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.
attiny85_oled_spi_term_2.rar [2,33 Kb] (letöltések: 574)

Attiny 85
Összes szavazó: 118
9.3
10
8.7

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
13 megjegyzés
Vseslav
Köszönöm, köszönöm!
A szerző
Jó estét Nem a Digispart könyvtárát használtam. Túl nagy bootloaderük van, melyben az óra vázlata sem fér el. A TinyOzOLED könyvtárat használtam. Nincs oroszul. Általánosságban elmondható, hogy az Attiny 85 esetében nehéz, túl kevés a memória.
Vseslav
Jól átgondolt és elvégzett, egy kisebb hiba - az Aglitsky-i feliratok. Cserélhetők-e őket egyszerűen oroszra, vagy a Digisparknak nehéz ezt megtenni?
A szerző
Jó napot A valós idejű órák elég helyet foglalnak el, így nem fognak beleillni ebbe az esetbe.
Hmm .. miért ne helyezzen valós idejű órát hőmérséklet-érzékelő helyett?
A szerző
Egy másik tipp: egy LED csatlakozik a Digispar Attiny 85 P1-hez, ha ezt a csapot használja, akkor fontolja meg annak jelenlétét. Ezt a diódát átmásoltam a táblán, mivel véleményem szerint csak zavar.
A szerző
Jó napot Nem szükséges ellenállással húzni, mivel az Attiny-ba beépített felfüggesztés a vázlat részét képezi. Vegye le a nadrágját, és próbálja újra.
Kipróbálhat egy másik vázlatot a többi órámtól is, ugyanolyan vezérlővel és képernyővel rendelkeznek, és a konfigurálás egyetlen gombbal történik:
https://hum.imdmyself.com/14217-chasy-s-termometrom-na-attiny.html
Vendég Roman
Jó napot. Köszönöm az ötletet és a munkát. Csak a kezem nem olyan, vagy nem értem. Az időbeállító gombok nem működnek megfelelően. Kipróbáltam mind az Ön vázlatát, mind az enyém, az egyetlen hozzáadott bemeneti gombok pin módjában, és áthúztam 10k-tól 5 V-ig. És abban és abban a gomb nem értette, hogyan kell megnyomni a változást. Vagy késésekbe ütközik, vagy valami nincs rendben a gombokkal, a szokásos órával.
hűvös képernyő. De nyálkás. A RAM sokat eszik.
Ön egy mester! nyomja be egy tinku85 ilyen.
A szerző
Igazad van, 2,8 x 2,8 cm-es elírásból készült
Idézet: maxim0512
Többé nem illeszkedik az ügybe.
Területenként százszor annyi lehet, mint amit javasolt.
A szerző
Többé nem illeszkedik az ügybe. Csak két gomb van, egy ellenállás és egy hőmérséklet-érzékelő. Minden csak illeszkedik.
... a vágott áramköri kártya nem lehet nagyobb 2,8 x 2,8 mm
Nem lesz elég. ))

Azt javasoljuk, hogy olvassa el:

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