» Elektronika » Arduino »Attled85 pulksteņi ar eļļu

Oled pulksteņi vietnē Attiny85

Labdien un atkal esmu kopā ar savām rotaļlietām. Šodien es jums piedāvāju norādījumus mazu, bet jauku pulksteņu izgatavošanai ar istabas temperatūras sensoru.
Oled pulksteņi vietnē Attiny85


Nepieciešamo saraksts:
- Digispark Attiny85
- Oled displejs 128x64 I2C
- temperatūras sensors ds18b20
- Rezistors 4,7 Kom 0,25 W
- ISP programmētājs vai Arduino Digispark Attiny85 programmaparatūras dēlis
- Plastmasas tablete ar saspraudi vai plānas plastmasas loksni
- vadi
- Dupont 2,54 mm “sieviešu” savienotāji
- pogas 2 gab.
- maza shēma vai maza apdare
- lodāmurs
- Lodēt, kolofonija
- šķēres
- pārrakstīšanās nazis
- karstās līmes pistoli
- karstā līme

1. solis komponentu atlase.
Kā galveno kontrolieri mēs izmantosim Digispark Attiny85. Ir vairāki to veidi. Mums ir nepieciešama tāfele ar mikro USB savienotāju. Pārējais neiederēsies pulksteņa korpusā.

Lai parādītu, mums ir nepieciešams Oled 128x64 I2C displejs. Tie ir dažādās krāsās: baltā, zilā, zilā un dzeltenā. Es vēršu jūsu uzmanību! Termins “divkrāsu” šī ekrāna aprakstā vai nosaukumā nozīmē vienas krāsas joslu ekrāna augšpusē, bet otrā - visu atlikušo ekrānu, nevis iespēju šajā ekrānā parādīt divas krāsas! Visos šāda veida ekrānos ir redzama tikai viena krāsa, vai augšpusē - vienas krāsas josla, apakšā - cita. Kā, piemēram, to, kuru es izmantošu. Augšējā josla ir dzeltena, pārējais ekrāns ir zils. Jūs varat izvēlēties jebkuru krāsu, kas jums patīk.
Mums ir nepieciešams arī integrētais temperatūras sensors DS18B20. Tas netika izvēlēts nejauši. Pirmkārt, DS18B20 sazinās ar mikrokontrolleri, izmantojot viena stieples sakaru līniju, izmantojot 1 stieples interfeisa protokolu. Mūsu gadījumā tas ir svarīgi, jo Attiny85 secinājumi bez sensora ir maz. Otrkārt, šis sensors ir cipars, tas ir, tas pats veic visus mērījumus un vienkārši pārraida temperatūras datus, netērējot Attiny85 skaitļošanas resursus.

Kas attiecas uz pārējo, es domāju, ka jautājumu nebūs, tāpēc pāriesim pie lietas izgatavošanas.

2. solis Korpusa montāža.
Pulksteņu korpuss būs izgatavots no plānas plastmasas. Man uz rokām bija plastmasas planšete ar saspraudi. Tas ir pietiekami grūts, lai noturētu savu formu, un tajā pašā laikā to var sagriezt ar parastajām šķērēm un biroja nazi. Viņš nāca klajā lieliski.Ja tas nav pa rokai, jūs varat iegādāties planšetdatoru biroja piederumu veikalā vai atrast pareizo plastmasu, lai aizstātu planšetdatoru. Mēs izgatavojam marķējumus uz plastmasas atbilstoši shēmai:


Izgrieziet visas cietās līnijas. Punktots - nedaudz sagriezts ar pārrakstīšanas nazi. Punktētās līnijas ir salocītas līnijas. Kā jūs jau sapratāt, tas ir parastais kuba izkārtojums. Tālāk jums jāpielodē vadi pie ekrāna, vislabāk ir uzņemt daudzkrāsainu un pierakstīt, kas noved pie tā. Līmējiet ekrānu uz karstās kausēšanas līmjavas vidū tā, lai tā priekšējā puse izietu no aizmugures. Kā redzat, mēs esam aizvēruši ekrāna tapa apzīmējumus. Tāpēc bija nepieciešams tos pierakstīt. Nedaudz nododu nazi un tādējādi nogriezu ķermeņa apakšējo daļu. Ar to nekas nav kārtībā, visu var salīmēt. Bet labāk manas kļūdas neatkārtot.



Rezultātam jābūt šādam:


Šajā gadījumā ir gatavs. Jūs joprojām varat izgriezt aizmugurējo vāciņu no tās pašas plastmasas, taču tas nav obligāts.

3. solis Mēs lodējam.
Mūsu gadījums ir mazs, un mums tur ir daudz jāapgrūž. Tāpēc mēs ņemam shēmas plates gabalu, kas nav lielāks par 2,8 x 2,8 mm, un lodēt divās pogās, ds18b20 sensors, rezistors un vairāki kontakti. Saskaņā ar šādu shēmu:


Nav nepieciešams lodēt vadus tieši Attiny, jo ir nepieciešams visu atvienot, izmantojot programmaparatūru. Rezultātam vajadzētu būt kaut kam līdzīgam:



Pogas ir vajadzīgas laika iestatīšanai. Strāvu var patērēt no datora USB porta. Apvienojot attiecīgi plusu un mīnusu:


Ja vēlaties iztikt bez vadiem, jums jāatrod maza litija jonu akumulators. Piemēram, viens:


Šis akumulators der korpusa iekšpusē. Nepieciešams sniegt tikai secinājumus par akumulatora uzlādi.

4. solis. Programmētāja sagatavošana.
Digispark Attiny85 var ieprogrammēt, izmantojot mikro USB savienotāju uz tāfeles, kā programmēšanas vidi izmantojot Arduino IDE. Bet tajā pašā laikā jums ir jāupurē 2 KB atmiņas bootloader. Attiny 85 kopā ir 8 KB Flash. Mana skice neatbilst sāknēšanas ielādētājam, tāpēc man ir jāprogrammē caur ISP programmētāju. Man tāda programmētāja nav, bet ir Arduino Uno tāfele, kuru izmantošu kā programmētāju. Ja jums ir ISB programmētājs, varat izlaist šo vienumu. Atveriet Arduino IDE un aizpildiet mūsu Arduino Uno skici ar nosaukumu ArduinoISP. Jūs to varat atrast, piemēram, šajā failā - piemēri - Arduino ISP. Skice sākas ar mājienu, kā savienot Arduino ar programmējamo kontrolieri. Arduino Uno vietā var būt arī jebkura cita Arduino valde.
// 10: vergu atiestatīšana
// 11: MOSI
// 12: MISO
// 13: SCK


Savienojuma shēma ar Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5


5. solis Programmēšanas vides sagatavošana.
Lai rediģētu programmaparatūru un aizpildītu skici Attiny 85, jums jāsagatavo ne tikai programmētājs, bet arī pati programmēšanas vide. Lai to izdarītu, no oficiālās Arduino.cc vietnes instalējiet Arduino IDE un caur Boards Manager arī instalējiet Attiny papildinājumu mikrokontrolleriem.

Palaidiet Arduino IDE, pēc tam File - Settings - laukā Papildu paneļu pārvaldnieka vietrāži URL, ielīmējiet saiti:

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


noklikšķiniet uz Labi (šajā laukā varat ievadīt vairākas saites, kuras atdala ar komatu). Nākamie rīki - Board - Boards Manager filtru laukā ievadiet Attiny un noklikšķiniet uz "David by Mellis". Noklikšķiniet uz Instalēt un gaidiet, līdz lejupielāde tiek pabeigta. Tagad izvēlnē Rīki atlasiet:
Valde - Attiny 25/45/85
Procesors - Attiny 85
Pulkstenis - iekšējs 16
un atlasiet seriālo portu, pie kura ISP programmētājs vai Arduino ir pievienots kā programmētājs.
Es izmēģināju daudz dažādu bibliotēku darbam ar ekrānu. Manuprāt, ērtākais un darbs pie Attiny85: TinyOzOLED.
tinyozoled-master.rar [15,99 Kb] (lejupielādes: 477)


Temperatūras sensoram nepieciešama OneWire bibliotēka.
onewire.rar [16,75 Kb] (lejupielādes: 263)


Instalējiet šīs divas bibliotēkas. Trešo pušu bibliotēkas var instalēt tieši programmēšanas vidē. Neizsaiņojot lejupielādētos arhīvus, Arduino IDE atlasiet izvēlni Sketch - Connect Library. Nolaižamā saraksta pašā augšdaļā atlasiet vienumu Pievienot. Zip bibliotēka. Parādītajā dialoglodziņā atlasiet bibliotēku, kuru vēlaties pievienot. Atkal atveriet izvēlni Sketch - Connect Library. Nolaižamā saraksta pašā apakšā jums vajadzētu redzēt jaunu bibliotēku. Tagad bibliotēku var izmantot programmās. Pēc visa tā neaizmirstiet atsāknēt Arduino IDE.Ja tas nepalīdz, vienkārši izsaiņojiet arhīvus mapē “bibliotēkas”, kas atrodas mapē ar instalētu Arduino IDE.

6. darbība. Rediģējiet un aizpildiet skici.
Temperatūras sensors darbojas saskaņā ar vienas stieples protokolu, un katrai ierīcei ir unikāla adrese - 64 bitu kods. Ar pietiekošiem resursiem nepietiek, lai katru reizi meklētu šo kodu. Tāpēc sensors vispirms jāpievieno jebkurai Arduino tāfelei, aizpildot skici, kas atrodas izvēlnē Fails - Piemēri - Dalasas temperatūra - OneWireSearch. Pēc tam palaidiet Rīki - Port Monitor. Arduino vajadzētu atrast mūsu sensoru, uzrakstīt tā adresi un pašreizējos temperatūras rādījumus. Mēs kopējam vai vienkārši pierakstām sava sensora adresi. Atveriet skici Attiny85_Oled_SPI_Term_2, meklējiet rindiņu:

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


Mēs pierakstām jūsu sensora adresi starp lencēm, aizstājot mana sensora adresi. Pēc tam pievienojiet Attiny programmētājam vai Arduino kā programmētājam (tas ir aprakstīts 4. darbībā) un aizpildiet skici. Atliek atvienot programmētāju un savienot visu atbilstoši shēmai 3 soļos. Montāža izrādās kaut kas līdzīgs šim:


Ekrāns ir mazs, nav iespējams ievietot laiku un temperatūru tā, lai tas būtu redzams. Tāpēc pulkstenis maina laiku ar temperatūras nolasījumu ik pēc 10 sekundēm.
attiny85_oled_spi_term_2.rar [2,33 Kb] (lejupielādes: 574)

Attiny 85
Vēlētāju skaits: 118
9.3
10
8.7

Pievienojiet komentāru

    • smaidismaidaxaxalabinezinuYahoonea
      priekšniekssaskrāpētmuļķisjājā-jāagresīvsslepeni
      žēldejotdeja2deja3apžēlošanapalīdzētdzērieni
      apstātiesdraugilabilabsirdīgssvilpegulbismēle
      smēķētaplaudēkrauklispaziņodrausmīgsdon-t_mentionlejupielādēt
      karstumsdrausmīgssmieties1mdasapulceņirgāšanāsnegatīvs
      not_ipopkornssodītlasītnobiedētbiedēmeklēt
      ņurdētpaldiesšoto_clueumņikakūtapiekrītu
      sliktibēmelnā acsblum3sarktlielītiesgarlaicība
      cenzētspleasantryslepens2draudētuzvarajusun_bespectacled
      šoksrespektlolprevedlaipni gaidītikrutojsya_za
      ya_dobryipalīgsne_huliganne_othodifludsaizliegumstuvu
13 komentāri
Vseslav
Paldies, paldies!
Autore
Labvakar Es neizmantoju Digispart bibliotēku. Viņiem ir pārāk liels sāknēšanas iekrāvējs, līdz ar to pulksteņa skice nederēja. Es izmantoju TinyOzOLED bibliotēku. Viņai nav krievu valodas. Kopumā ar Attiny 85 ir grūti, ir par maz atmiņas.
Vseslav
Pārdomāts un izdarīts, viens neliels trūkums - uzraksti Aglitskā. Vai tos var vienkārši apmainīt pret krievu valodu, vai arī Digispark to ir grūti izdarīt?
Autore
Labdien! Reālā laika pulksteņi aizņem pietiekami daudz vietas, tie šajā gadījumā neiederēsies.
Hmm .. kāpēc gan temperatūras sensora vietā neievietot reālā laika pulksteni?
Autore
Vēl viens padoms - gaismas diode ir pievienota Digispar Attiny 85 P1, ja izmantojat šo tapu, apsveriet tā klātbūtni. Es šo diodi pārdēvēju uz tāfeles, jo, manuprāt, tā tikai traucē.
Autore
Labdien! Ar rezistoru izvilkšana nav jāveic, jo skicē ir iekļauta Attiny iebūvētā balstiekārta. Noņemiet zeķturis un mēģiniet vēlreiz.
Varat arī izmēģināt citu skici no citiem maniem pulksteņiem, viņiem ir tas pats kontrolieris un ekrāns, un konfigurēšana tiek veikta ar vienu pogu:
https://lvm.imdmyself.com/14217-chasy-s-termometrom-na-attiny.html
Viesis Romāns
Laba diena. Paldies par ideju un darbu. Tikai vai nu manas rokas nav tādas, vai arī es to nesaprotu. Laika iestatīšanas pogas nedarbojas normāli. Es izmēģināju gan jūsu iespaidu, gan raktuves, manā vienīgajā pievienotajā ievades pogu tapa režīmā un izvilku caur 10k līdz 5V. Un tajā un tajā pašā laikā poga nesaprata, kā nospiest, lai mainītos. Vai arī es nokļuvu kavējumos vai kaut kas nav kārtībā ar pogām, parasto pulksteni.
foršs ekrāns. Bet riebīgs. RAM ēd daudz.
Jūs esat kapteinis! saspiest tinku85 tādu.
Autore
Jums taisnība, izdarījāt drukas kļūdu, 2,8 x 2,8 cm
Citāts: maxim0512
Vairs neiederas tikai lietā.
Pēc apgabala jūs varat simt reizes vairāk, nekā jūs ierosinājāt.
Autore
Vairs neiederas tikai lietā. Ir tikai divas pogas, rezistors un temperatūras sensors. Viss vienkārši derēja.
... apgrieztā shēmas plate nav lielāka par 2,8 x 2,8 mm
Ar to nepietiks. )))

Mēs iesakām izlasīt:

Nododiet to viedtālrunim ...