» Elektronika » Arduino »Oled hodinky na Attiny85

Hodinky Oled na Attiny85

Dobré odpoledne a znovu jsem se svými hračkami. Dnes vám představuji pokyny pro výrobu malých, ale roztomilých hodinek se snímačem teploty místnosti.
Hodinky Oled na Attiny85


Seznam toho, co potřebujeme:
- Digispark Attiny85
- Oledový displej 128 x 64 I2C
- teplotní senzor ds18b20
- Rezistor 4,7 Kom 0,25 W
- ISP programátor nebo Arduino Deska firmwaru Digispark Attiny85
- Plastová tableta s kancelářskou sponkou nebo listem z tenkého plastu
- dráty
- Dupont 2.54 mm „samičí“ konektory
- Knoflíky 2 ks.
- Malá deska plošných spojů nebo malé obložení
- páječka
- Pájka, kalafuna
- nůžky
- administrativní nůž
- Horká lepicí pistole
- Horké lepidlo

Krok 1 Výběr součástí.
Jako hlavní ovladač použijeme Digispark Attiny85. Je jich několik. Potřebujeme desku s konektorem micro USB. Zbytek se nevejde do pouzdra na hodinky.

K zobrazení potřebujeme displej Oled 128x64 I2C. Přicházejí v různých barvách: bílá, modrá, modrá se žlutou. Přitahuji vaši pozornost! Pojem „dvoubarevný“ v popisu nebo názvu této obrazovky znamená pruh jedné barvy v horní části obrazovky a druhé barvy celé zbývající obrazovky, a nikoli schopnost zobrazit dvě barvy s touto obrazovkou! Všechny obrazovky tohoto typu zobrazují pouze jednu barvu nebo nahoře pruh jedné barvy dole - další. Jako například ten, který budu používat. Lišta nahoře je žlutá, zbývající část obrazovky je modrá. Můžete si vybrat libovolnou barvu.
Potřebujeme také integrovaný teplotní senzor DS18B20. Nebyla vybrána náhodou. Zaprvé, DS18B20 komunikuje s mikrokontrolérem prostřednictvím jednodrátové komunikační linky pomocí protokolu 1-Wire interface. V našem případě je to důležité, protože závěry Attiny85 bez senzoru jsou málo. Za druhé, tento senzor je číslice, to znamená, že provádí všechna měření sama a jednoduše přenáší data o teplotě, aniž by utrácel výpočetní zdroje Attiny85.

Pokud jde o zbytek, myslím, že nebudou žádné otázky, takže pojďme k výrobě případu.

Krok 2 Montáž pouzdra.
Pouzdro na hodinky bude vyrobeno z tenkého plastu. Měl jsem plastovou tabletu s sponkou na ruce. Je dost tvrdý, aby si udržel svůj tvar, a zároveň jej lze řezat běžnými nůžkami a kancelářským nožem. Přišel dokonale.Pokud není po ruce, můžete si koupit tablet v obchodě s kancelářskými potřebami nebo najít ten správný plast, který tablet nahradí. Značky vyrábíme na plastu podle schématu:


Vystřihněte všechny plné čáry. Tečkovaná - lehce řezaná úředním nožem. Tečkované čáry jsou přehybové čáry. Jak jste již pochopili, jedná se o obvyklé rozložení krychle. Dále je třeba pájet dráty na obrazovku, je nejlepší vzít vícebarevné a zapsat, což vede k čemu. Lepidlo nalepíme na tavné lepidlo uprostřed tak, aby směřovalo ven na zadní stranu. Jak vidíte, zavřeli jsme označení pinů obrazovky. Proto bylo nutné si je zapsat. Mírně jsem předal nůž, a tím odřízl spodní část těla. Na tom není nic špatného, ​​vše lze lepit. Ale je lepší neopakovat mé chyby.



Výsledek by měl být následující:


Na tento případ je připraven. Zadní kryt můžete stále vyříznout ze stejného plastu, ale je to volitelné.

Krok 3 Pájíme.
Náš případ je malý a musíme se tam hodně napěchovat. Proto bereme kus desky plošných spojů ne větší než 2,8 x 2,8 mm a pájíme je pomocí dvou tlačítek, senzoru ds18b20, rezistoru a několika kontaktů. Podle následujícího schématu:


Není nutné pájet dráty přímo do Attiny, protože je nutné odpojit vše pro firmware. Výsledkem by mělo být něco takového:



K nastavení času jsou potřebná tlačítka. Z portu USB počítače lze odebrat energii. Kombinace kladné a záporné hodnoty:


Pokud se chcete obejít bez vodičů, musíte najít malou lithium-iontovou baterii. Zde je například jeden:


Tato baterie se vejde do pouzdra. Závěry týkající se nabíjení baterie je nutné provést.

Krok 4 Příprava programátoru.
Program Digispark Attiny85 lze naprogramovat pomocí konektoru micro USB na desce, přičemž jako programovací prostředí se používá Arduino IDE. Ale zároveň musíte obětovat 2 KB paměti pro bootloader. Attiny 85 má celkem 8 KB Flash. Moje skica se nehodí k bootloaderu, takže musím programovat prostřednictvím programátora ISP. Nemám takového programátora, ale existuje deska Arduino Uno, kterou budu používat jako programátor. Pokud máte programátora ISB, můžete tuto položku přeskočit. Otevřete Arduino IDE a vyplňte náš náčrt s názvem ArduinoISP do našeho Arduino Uno. Najdete ji jako tento soubor - příklady - Arduino ISP. Skica začíná nápovědou o tom, jak připojit Arduino k programovatelnému řadiči. Místo Arduino Uno může existovat jakákoli jiná deska Arduino.
// 10: reset slave
// 11: MOSI
// 12: MISO
// 13: SCK


Schéma připojení k Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5


Krok 5 Příprava programovacího prostředí.
Chcete-li upravit firmware a vyplnit náčrt v Attiny 85, musíte připravit nejen programátor, ale také samotné programovací prostředí. Chcete-li to provést, nainstalujte Arduino IDE z oficiálních webových stránek Arduino.cc a také nainstalujte doplněk pro mikrokontroléry Attiny prostřednictvím Správce nástěnek.

Spusťte Arduino IDE, pak File - Settings - do pole URL dalších Správců desek, vložte odkaz:

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


klikněte na OK (do tohoto pole můžete zadat několik odkazů oddělených čárkou). Další nástroje - Board - Boards Manager v poli filtru, zadejte Attiny a klikněte na "attiny by David A. Mellis". Klikněte na Instalovat a počkejte na dokončení stahování. Nyní v nabídce Nástroje vyberte:
Board - Attiny 25/45/85
Procesor - Attiny 85
Hodiny - vnitřní 16
a vyberte sériový port, ke kterému je programátor ISP nebo Arduino připojen jako programátor.
Pro práci s obrazovkou jsem vyzkoušel mnoho různých knihoven. Podle mého názoru nejvhodnější a pracuje na Attiny85: TinyOzOLED.
tinyozoled-master.rar [15.99 Kb] (počet stažení: 477)


Senzor teploty potřebuje knihovnu OneWire.
onewire.rar [16.75 Kb] (počet stažení: 263)


Nainstalujte tyto dvě knihovny. Knihovny třetích stran můžete instalovat přímo v programovacím prostředí. Bez rozbalení stažených archivů vyberte v Arduino IDE nabídku Sketch - Connect Library. V horní části rozevíracího seznamu vyberte položku Přidat knihovnu ZIP. V zobrazeném dialogu vyberte knihovnu, kterou chcete přidat. Znovu otevřete nabídku Sketch - Connect Library. Na samém spodku rozevíracího seznamu byste měli vidět novou knihovnu. Nyní lze knihovnu použít v programech. Po tom všem nezapomeňte restartovat Arduino IDE.Pokud to nepomůže, jednoduše rozbalte archivy do složky „knihovny“ umístěné ve složce s nainstalovaným Arduino IDE.

Krok 6 Upravte a vyplňte náčrt.
Teplotní senzor pracuje podle protokolu One Wire a má pro každé zařízení jedinečnou adresu - 64bitový kód. Zdroje Attiny nestačí hledat tento kód pokaždé. Proto musíte nejprve připojit senzor k libovolné desce Arduino a vyplnit náčrt umístěný v nabídce Soubor - Příklady - Dallas Teplota - OneWireSearch. Dále spusťte Tools - Port Monitor. Arduino by mělo najít náš senzor, napsat jeho adresu a aktuální hodnoty teploty. Zkopírujeme nebo jednoduše zapíšeme adresu našeho senzoru. Otevřete náčrt Attiny85_Oled_SPI_Term_2, vyhledejte řádek:

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


Napíšeme adresu vašeho senzoru mezi závorky a nahradíme adresu mého senzoru. Poté připojte Attiny k programátorovi nebo Arduino jako programátor (to je popsáno v kroku 4) a vyplňte náčrt. Zbývá odpojit programátor a připojit vše podle schématu ve 3 krocích. Shromáždění dopadá něco takového:


Obrazovka je malá, je nemožné nastavit čas i teplotu tak, aby byla viditelná. Hodiny proto mění čas s měřením teploty každých 10 sekund.
attiny85_oled_spi_term_2.rar [2,33 Kb] (počet stažení: 574)

Attiny 85
Celkem voličů: 118
9.3
10
8.7

Přidejte komentář

    • úsměvúsměvyxaxaokdontknowyahoone
      šéfeškrábnutíhlupákanoano-anoagresivnítajemství
      promiňtanecdance2dance3prominoutpomocnápoje
      zastavitpřátelédobředobrá náladapískatlžícejazyk
      kouřtleskánícrayprohlásitvýsměšnýdon-t_mentionstáhnout
      teploirefulsmích1mdasetkánímoskingnegativní
      not_ipopcorntrestatčístvyděsitděsíhledat
      posměchděkujitototo_clueumnikakutnísouhlasím
      špatnévčelablack_eyeblum3červenat sechlubit senuda
      cenzurovánopleasantrysecret2hrozitvítězstvíyusun_bespectacled
      třástrespektlolprovedenívítejtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodibludzákazblízko
13 komentáře
Vseslavi
Díky, díky!
Autor
Dobrý večer Knihovnu od Digispart jsem nepoužil. Mají příliš velký bootloader a spolu s tím i skica hodin neseděla. Použil jsem knihovnu TinyOzOLED. Nemá rusky. Obecně platí, že s Attiny 85 je obtížné, existuje příliš málo paměti.
Vseslavi
Dobře promyšlené a hotové, jedna drobná chyba - nápisy v Aglitsky. Lze je jednoduše vyměnit za ruštinu, nebo je pro Digispark obtížné to udělat?
Autor
Dobré odpoledne Hodiny v reálném čase zabírají dostatek místa, do tohoto případu se nevejdou.
Hmm .. proč ne dát teplotní hodiny místo teplotního senzoru?
Autor
Další tip, LED je připojena k Digispar Attiny 85 P1, pokud použijete tento pin, zvažte jeho přítomnost. Tuto diodu jsem daboval na desce, protože podle mého názoru pouze zasahuje.
Autor
Dobré odpoledne Není nutné provádět pull-up s odporem, protože závěs zabudovaný do Attiny je součástí náčrtu. Sundejte svůj podvazek a zkuste to znovu.
Můžete také vyzkoušet další skicu z mých dalších hodinek, které mají stejný ovladač a obrazovku a konfigurace se provádí jedním tlačítkem:
https://csm.imdmyself.com/14217-chasy-s-termometrom-na-attiny.html
Host Roman
Dobrý den. Děkuji za nápad a práci. Pouze moje ruce nejsou takové, nebo tomu nerozumím. Tlačítka nastavení času nefungují normálně. Vyzkoušel jsem váš skech i můj, v mém jediném přidal pin režim vstupních tlačítek, a vytáhl přes 10k na 5V. A v tom a v tom, že tlačítko nerozumělo, jak stisknout pro změnu. Nebo se dostanu do zpoždění nebo něco není v pořádku s tlačítky, obvyklými hodinami.
skvělá obrazovka. Ale lepkavé. RAM jí hodně.
Jste pán! vytlačit do tinku85 takový.
Autor
Máte pravdu, udělali jste překlep, 2,8 x 2,8 cm
Citace: maxim0512
Už se nehodí do pouzdra.
Podle oblasti můžete stokrát více, než jste navrhli.
Autor
Už se nehodí do pouzdra. Existují pouze dvě tlačítka, odpor a teplotní senzor. Všechno se hodí.
... oříznutá deska plošných spojů ne větší než 2,8 x 2,8 mm
To nebude stačit. )))

Doporučujeme si přečíst:

Podejte to pro smartphone ...