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.
Temperatūras sensoram nepieciešama OneWire bibliotēka.
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.