» elektronika » Arduino »Hodinky Oled na Attiny85

Hodinky Oled na Attiny85

Dobré popoludnie a opäť som s hračkami. Dnes vám predstavujem pokyny na výrobu malých, ale roztomilých hodiniek so snímačom teploty miestnosti.
Hodinky Oled na Attiny85


Zoznam, čo potrebujeme:
- Digispark Attiny85
- Olejový displej 128 x 64 I2C
- snímač teploty ds18b20
- rezistor 4,7 Kom 0,25 W
- programátor ISP alebo Arduino Doska firmvéru Digispark Attiny85
- Plastová tableta s kancelárskou sponou alebo listom tenkého plastu
- drôty
- Dupont 2,54 mm „zásuvka“
- Gombíky 2 ks.
- Malá doska plošných spojov alebo malé čalúnenie
- spájkovačka
- Spájka, kolofónia
- nožnice
- kancelársky nôž
- Horúca lepiaca pištoľ
- Horúce lepidlo

Krok 1 Výber komponentov.
Ako hlavný ovládač použijeme program Digispark Attiny85. Existuje ich niekoľko druhov. Potrebujeme dosku s konektorom micro USB. Zvyšok sa nehodí do puzdra na hodinky.

Na zobrazenie potrebujeme displej Oled 128x64 I2C. Prichádzajú v rôznych farbách: biela, modrá, modrá so žltou. Upozorňujem vás! Pojem „dvojfarebný“ v popise alebo názve tejto obrazovky znamená pás jednej farby v hornej časti obrazovky a druhej farby celú zostávajúcu obrazovku, a nie schopnosť zobraziť dve farby s touto obrazovkou! Všetky obrazovky tohto typu zobrazujú iba jednu farbu alebo v hornej časti pruh jednej farby v spodnej časti - druhú. Ako napríklad ten, ktorý použijem. Lišta hore je žltá, zvyšok obrazovky je modrý. Môžete si vybrať ľubovoľnú farbu.
Potrebujeme tiež integrovaný snímač teploty DS18B20. Nebolo vybrané náhodou. Po prvé, DS18B20 komunikuje s mikrokontrolérom prostredníctvom jednodrátovej komunikačnej linky pomocou protokolu 1-Wire interface. V našom prípade je to dôležité, pretože závery Attiny85 bez senzora sú málo. Po druhé, tento senzor je číslica, to znamená, že vykonáva všetky merania sám a jednoducho vysiela údaje o teplote bez vynaloženia výpočtových zdrojov Attiny85.

Pokiaľ ide o zvyšok, myslím si, že nebudú žiadne otázky, takže poďme na výrobu prípadu.

Krok 2 Montáž krytu.
Puzdro na hodinky bude vyrobené z tenkého plastu. Mal som plastovú tabletu s sponkou na ruky. Je dosť odolný na to, aby si udržal svoj tvar, a súčasne ho možno rezať pomocou bežných nožníc a kancelárskeho noža. Prišiel dokonale.Ak nie je po ruke, môžete si kúpiť tablet v obchode s kancelárskymi potrebami alebo nájsť ten správny plast, ktorý tabletu nahradí. Na plasty vyrábame značenie podľa schémy:


Vystrihnite všetky plné čiary. Bodkovaný - mierne rezaný kancelárskym nožom. Bodkované čiary sú línie skladania. Ako ste už pochopili, toto je obvyklé rozloženie kocky. Ďalej je potrebné spájkovať vodiče na obrazovku, najlepšie je vziať si viacfarebné a zapísať, čo vedie k čomu. Sieť nalepte na tavné lepidlo v strede tak, aby predná strana vychádzala zozadu. Ako vidíte, zatvorili sme označenia špendlíkov obrazovky. Preto bolo potrebné ich zapísať. Mierne som podal nôž, a tým som odrezal spodnú časť tela. S tým nie je nič zlé, všetko je možné zlepiť. Ale je lepšie neopakovať moje chyby.



Výsledok by mal byť takýto:


Na tento prípad je pripravený. Zadný kryt môžete stále vystrihnúť z rovnakého plastu, je to však voliteľné.

Krok 3 Spájkujeme.
Náš prípad je malý a musíme sa tam veľa napchať. Preto berieme kus dosky plošných spojov nie väčší ako 2,8 x 2,8 mm a spájkujeme ju pomocou dvoch tlačidiel, senzora ds18b20, rezistora a niekoľkých kontaktov. Podľa nasledujúcej schémy:


Nie je potrebné spájkovať vodiče priamo s Attiny, pretože pre firmvér je potrebné všetko odpojiť. Výsledkom by malo byť niečo také:



Na nastavenie času sú potrebné tlačidlá. Napájanie je možné vykonať z USB portu počítača. Kombinácia kladného a záporného čísla:


Ak chcete robiť bez káblov, musíte nájsť malú lítium-iónovú batériu. Tu je napríklad:


Táto batéria sa vojde do puzdra. Je potrebné uviesť len závery týkajúce sa nabitia batérie.

Krok 4 Príprava programátora.
Program Digispark Attiny85 sa dá programovať prostredníctvom konektora micro USB na doske, pričom sa ako programovacie prostredie používa Arduino IDE. Ale zároveň musíte obetovať 2 KB pamäte pre bootloader. Attiny 85 má celkom 8 KB Flash. Moja skica sa nezmestí na zavádzač, takže musím naprogramovať programátora ISP. Nemám taký programátor, ale existuje tabuľa Arduino Uno, ktorú budem používať ako programátor. Ak máte programátora ISB, môžete túto položku preskočiť. Otvorte Arduino IDE a vyplňte náš náčrt s názvom ArduinoISP do nášho Arduino Uno. Nájdete ho ako tento súbor - príklady - Arduino ISP. Náčrt začína tipom, ako pripojiť Arduino k programovateľnému radiču. Namiesto Arduino Uno môže existovať akákoľvek iná doska Arduino.
// 10: reset slave
// 11: MOSI
// 12: MISO
// 13: SCK


Schéma pripojenia k Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5


Krok 5 Príprava programovacieho prostredia.
Na úpravu firmvéru a vyplnenie náčrtu v aplikácii Attiny 85 je potrebné pripraviť nielen programátora, ale aj samotné programovacie prostredie. Na tento účel nainštalujte Arduino IDE z oficiálnej webovej stránky Arduino.cc a tiež nainštalujte doplnok Attiny pre mikrokontroléry prostredníctvom Boards Manager.

Spustite Arduino IDE, potom do poľa File - Settings - File - Settings - vložte URL:

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


kliknite na tlačidlo OK (do tohto poľa môžete zadať niekoľko odkazov oddelených čiarkou). Ďalšie nástroje - Board - Boards Manager v poli filtra, zadajte Attiny a kliknite na „attiny by David A. Mellis“. Kliknite na Inštalovať a počkajte na dokončenie sťahovania. Teraz v ponuke Nástroje vyberte:
Stravovanie - Attiny 25/45/85
Procesor - Attiny 85
Hodiny - vnútorné 16
a vyberte sériový port, ku ktorému je programátor ISP alebo Arduino pripojený ako programátor.
Pre prácu s obrazovkou som vyskúšal mnoho rôznych knižníc. Podľa môjho názoru najvýhodnejšie a pracuje na Attiny85: TinyOzOLED.
tinyozoled-master.rar [15,99 Kb] (stiahnuté: 477)


Snímač teploty potrebuje knižnicu OneWire.
onewire.rar [16,75 Kb] (stiahnuté: 263)


Nainštalujte tieto dve knižnice. Knižnice tretích strán môžete nainštalovať priamo do programovacieho prostredia. Bez rozbalenia stiahnutých archívov vyberte v Arduino IDE ponuku Sketch - Connect Library. Na samom vrchu rozbaľovacieho zoznamu vyberte položku Pridať knižnicu ZIP. V zobrazenom dialógovom okne vyberte knižnicu, ktorú chcete pridať. Znovu otvorte ponuku Sketch - Connect Library. Úplne na konci rozbaľovacieho zoznamu by ste mali vidieť novú knižnicu. Knižnicu je teraz možné používať v programoch. Po tom všetkom nezabudnite reštartovať počítač Arduino IDE.Ak to nepomôže, stačí rozbaliť archívy do priečinka „knižnice“, ktorý sa nachádza v priečinku s nainštalovaným Arduino IDE.

Krok 6 Upravte a vyplňte náčrt.
Snímač teploty pracuje podľa protokolu One Wire a má pre každé zariadenie jedinečnú adresu - 64-bitový kód. Zdroje Attiny nestačia na hľadanie tohto kódu vždy. Preto musíte najprv pripojiť snímač k akejkoľvek doske Arduino a vyplniť náčrt umiestnený v ponuke Súbor - Príklady - Dallas Teplota - OneWireSearch. Ďalej spustite Tools - Port Monitor. Arduino by malo nájsť náš senzor, napísať jeho adresu a aktuálne hodnoty teploty. Skopírujeme alebo jednoducho zapíšeme adresu nášho senzora. Otvorte náčrt Attiny85_Oled_SPI_Term_2, vyhľadajte riadok:

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


Medzi zátvorky zapíšeme adresu vášho senzora a nahradíme adresu môjho senzora. Potom pripojte Attiny k programátorovi alebo Arduino ako programátor (je to popísané v kroku 4) a vyplňte náčrt. Zostáva odpojiť programátor a pripojiť všetko podľa schémy v 3 krokoch. Zhromaždenie ukazuje niečo také:


Obrazovka je malá, je nemožné nastaviť čas aj teplotu tak, aby bola viditeľná. Hodiny preto menia čas s odčítaním teploty každých 10 sekúnd.
attiny85_oled_spi_term_2.rar [2,33 Kb] (počet stiahnutí: 574)

Attiny 85
Celkový počet voličov: 118
9.3
10
8.7

Pridajte komentár

    • usmievaťúsmevyxaxaokdontknowyahoonea
      bossškrabanecoklamaťánoáno, ánoútočnýtajomstvo
      ľutovaťtanecdance2dance3odpusteniehelpnápoje
      zastávkapriateliadobrýgoodgoodpíšťalaomdlieťjazyk
      dymtlieskanieCraydeklarovaťvýsměšnýdon-t_mentiondownload
      teplohnevlivýlaugh1MDAstretnutiemoskingnegatívny
      not_ipražená kukuricatrestaťprečítaťvydesiťzdesenievyhľadávať
      posmechthank_youtototo_clueumnikakútnasúhlasiť
      zlýbeeeblack_eyeblum3očervenieťchvastanienuda
      cenzurovanéžartysecret2hroziťvíťazstvoyusun_bespectacled
      shokrešpektlolprevedievitajtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodiFLUDzákazzavrieť
13 komentár
Vseslav
Vďaka, vďaka!
Autor
Dobrý večer Nepoužil som knižnicu z Digispartu. Majú príliš veľký bootloader a spolu s tým sa nehodí náčrt hodín. Použil som knižnicu TinyOzOLED. Nemá rusky. Vo všeobecnosti platí, že s programom Attiny 85 je príliš málo pamäte.
Vseslav
Dobre premyslený a hotový, jedna drobná chyba - nápisy v Aglitsky. Môžu sa jednoducho vymeniť za ruštinu, alebo je pre Digispark ťažké to urobiť?
Autor
Dobré popoludnie Hodiny v reálnom čase zaberajú dostatok miesta, do tohto prípadu sa nehodia.
Hmm .. prečo namiesto teplotného senzora nevkladať hodiny v reálnom čase?
Autor
Ďalší tip, na zariadenie Digispar Attiny 85 P1, je pripojená dióda LED, ak použijete tento kolík, zvážte jeho prítomnosť. Túto diódu som daboval na svojej doske, pretože podľa môjho názoru zasahuje iba.
Autor
Dobré popoludnie Nie je potrebné robiť pull-up s odporom, pretože zavesenie zabudované do Attiny je zahrnuté v náčrte. Zložte svoj podväzok a skúste to znova.
Môžete tiež vyskúšať ďalšiu skicu z mojich ďalších hodiniek, majú rovnaký ovládač a obrazovku a konfigurácia sa vykonáva pomocou jedného tlačidla:
https://skm.imdmyself.com/14217-chasy-s-termometrom-na-attiny.html
Hosť Roman
Dobrý deň. Ďakujem za nápad a prácu. Len moje ruky nie sú podobné, alebo tomu nerozumiem. Tlačidlá nastavenia času nefungujú normálne. Skúsil som váš skech aj môj, v mojom jedinom som pridal režim pin vstupných tlačidiel a pretiahol som 10 k 5 V. A v tom a v tom, že tlačidlo nerozumelo, ako stlačiť pre zmenu. Alebo sa dostanem do omeškania alebo niečo nie je v poriadku s tlačidlami, zvyčajnými hodinami.
super obrazovka. Ale lepkavé. RAM jej veľa.
Ste majster! vytlačiť do tinku85 taký.
Autor
Máte pravdu, urobili ste preklep, 2,8 x 2,8 cm
Citácia: maxim0512
Už sa nehodia do puzdra.
Podľa oblasti môžete stokrát viac, ako ste navrhli.
Autor
Už sa nehodia do puzdra. Existujú iba dve tlačidlá, odpor a snímač teploty. Všetko sa hodí.
... upravená doska plošných spojov nie väčšia ako 2,8 x 2,8 mm
To nebude stačiť. ))

Odporúčame vám prečítať si:

Ruku pre smartphone ...