Laba diena, šiandien noriu pasidalyti instrukcijomis, kaip gaminti laikrodžius „Attiny 85“ su Oled ekranu. Mano laikrodžio funkcijos neapsiriboja mano laikrodžiu. Jie taip pat gali būti naudojami kaip darbalaukis, taip pat galite sutraiškyti skaitmeninį temperatūros jutiklį.
Dėl pagaminimo naminis mums reikės:
- Sintetinis dirželis (bet kokios spalvos)
- Velcro drabužiams
- „Digispark Attiny85“
- Oled ekranas, kurio skiriamoji geba yra 128x64, I2C
- „ds18b20“ - skaitmeninis temperatūros jutiklis (pasirinktinai)
- Rezistorius 4,7 Kom 0,25 W
- Arduino „Digispark Attiny85“ programinės įrangos plokštė (IPT programuotojas)
- Plono plastiko lakštas
- Spalvoti laidai
- „Dupont“ 2,54 mm „moteriškos“ jungtys
- sagos 2 vnt.
- Maža grandinės plokštė arba mažas plokštės gabalas
- Lituoklis, lydmetalis, kanifolija
- Siūlas, adata, žirklės
- kanceliarinis peilis
- Karšto klijų pistoletas
- Karšti klijai
- dvipusė juosta
1 žingsnis. Diržo paruošimas.
Diržą galite nusipirkti bet kurioje rankdarbių parduotuvėje. Pasirinkite 25 mm pločio dirželį. Bet kokia spalva. Mums reikia maždaug 50 cm juostos. Sulenkite juostą per pusę ir siūkite išilgai kraštų. Tada dirželio viduryje mes darome plyšį, bet tik vienoje iš dalių. Siūkite Velcro iš dirželio galų.
Įdėkite siūlą su adata į šoną ir paimkite lituoklį.
2 žingsnis Paruoškite plokštę ir OLED ekraną.
Mūsų laikrodžio „smegenys“ bus „Digispark Attiny85“ valdiklis. Jie yra keliomis versijomis. Turėtumėte nusipirkti plokštę su „Micro USB“ jungtimi. Kitos lentos versijos netilps laikrodžių dėžutėje.
Jei nusipirkote lentą su lituotais kontaktais, pirmiausia turėtumėte juos išspausti. Tada mes paimame skirtingų spalvų laidus, mums reikia 9 skirtingų spalvų. Nupjaukite apie 15 cm nuo kiekvienos vielos, nubraukite ją ir lituokite į Attiny85. Iškart verta užrašyti, kuri viela prie kurios smeigtuko yra litavusi, kad vėliau nesusipainiotumėte.
Mano atveju laidai pagal spalvas atrodo taip:
PB0 MOSI - geltona
PB1 MISO - mėlyna
PB2 CSK - mėlyna
PB3 - violetinė
PB4 - balta
PB5 NRES - pilka
GND - juoda
+5 - raudona
Vin - oranžinė
Jūsų laidų spalvos gali skirtis, svarbiausia yra jas užrašyti.
Pereikime prie ekrano. Mes naudosime „oled“ ekraną. Ekrano skiriamoji geba 128x64, veikia „I2C“ magistralėje. Parduodami yra įvairių spalvų ekranai: balta, mėlyna, mėlyna su geltona. Būkite atsargūs! Žodis „dviejų spalvų“ šio ekrano aprašyme ir pavadinime rodo, kad spalvos juostos skiriasi nuo pagrindinės ekrano viršuje, o ne galimybę šiame ekrane parodyti dvi spalvas! Visi šio tipo ekranai rodo tik vieną spalvą arba viršuje yra vienos spalvos juostelės, apačioje - kiti. Man patiko mėlynas ekranas, kurio viršuje yra geltona juosta. Spalva nevaidina ypatingo vaidmens, rinkitės, kuri jums labiau patinka. Kaip ir „Attiny85“ atveju, jei nusipirkote ekraną su lituotais kontaktais, pirmiausia turėtumėte juos išmontuoti.
Ekrano gale turėtumėte lituoti mažus laidus. Geriau naudoti tų pačių spalvų laidus kaip ir su „Attiny85“, kad vėliau jų nesupainiotumėte. Mano atveju geltoną laidą litavau prie ekrano SDA, prie SCL - mėlynos, GND - juodos, VCC - raudonos.
Ant dvipusės juostos pritvirtiname Attiny85 prie Oled ekrano galo. „Attiny85“ neturėtų peržengti „Oled“ ekrano plokštės.
Lydome Attiny85 ir Oled kartu.
PB0 MOSI Attiny85 - geltona - „SDA Oled“
PB2 CSK Attiny85 - mėlyna - „SCL Oled“
„GND Attiny85“ - juoda - „GND Oled“
+5 Attiny85 - Raudona - VCC Oled
Mes renkame visus laidus vienoje eilėje, kad gautume kilpą. Apvyniojame ją elektrine juostele keliose vietose, kad nenukristų.
Eik į mūsų laikrodžių galią. Norėdami tai padaryti, paimkite nedidelę ličio bateriją. Lituokite prie jo laidus.
Jei baterijos nėra, galima naudoti A27 arba A23 tipo baterijas.
Mes įdėjome akumuliatorių ar bateriją į tolimiausią kišenės kampą, suformuotą per pusę sulankstytu dirželiu. Jei naudojate akumuliatorių, numatykite lizdą, kad jį pakeistumėte.
Į skylę, padarytą dirželio viduryje, mes priklijuojame savo laidą iš laidų.
Mes juos ištempiame iki dirželio galo, kad jie išsikištų, o laikrodis būtų tiksliai virš lizdo, kad lizdas užsidarytų kelioms valandoms.
Mes nupjauname perteklių ir užspaudžiame visus „Dupont“ 2,54 mm „motinos“ jungčių laidus. Mes įdedame jį į plastikinius dėklus ir apvyniokite juos elektrine juostele, kad gautume tvarkingą jungtį su visais Attiny85 laidais. Čia taip pat verta parašyti arba, dar geriau, eskizuoti visus gautos jungties kontaktus. „GND Attiny“, „GND Oled“ ir baterijos minusą galima nedelsiant prijungti ir suspausti į vieną kontaktą. Norėdami toliau užpildyti eskizą ir prijungti priedus, patogiausia kontaktus išdėstyti taip:
PB0 | PB1 | PB2 | PB5 | +5 ATTINIJA | GND ATTINYMAS
PB3 | PB4 | VCC OLED | GND OLED | Vin ATTINY | + GPGB
Dabar atėjo laikas pereiti prie korpuso.
3 žingsnis.
Kūnui jums reikės plono plastiko. Jį galima nusipirkti internetinėje parduotuvėje. Arba kanceliarinių prekių parduotuvėje galite nusipirkti aplanką su storu plastikiniu dangčiu ir pasigaminti dėklą iš dangtelio. Ant plastiko pažymime laikrodžio šluotą. Ištisinės linijos yra supjaustytos linijos, punktyrinės linijos - sulenktos.
Kanceliariniu peiliu atsargiai iškirskite langą viduryje. Mes sulenkiame visas punktyrines linijas. Tai turėtų būti tokia:
Ir iš kitos pusės:
Mes uždedame plyšį ant savo ekrano, sulenkite kraštus ir, naudodami karšto lydalo klijus, surinkite savo kūną. Taip pat verta klijuoti dėklą prie dirželio, geriausia jo viduje, kad klijai neišeitų.
4 žingsnis. Programavimo aplinkos paruošimas.
Norėdami dirbti su programinė įranga (arba eskizu), mes naudosime „Arduino IDE“. Atsisiųskite archyvą arba diegimo programą iš oficialios svetainės Arduino IDE.
Be to, „Arduino IDE“ turime pridėti „Attiny“ palaikymą. Norėdami tai padaryti, paleiskite „Arduino IDE“, tada „File - Settings“ lauke „Papildomos plokštės tvarkyklės URL“ įterpkite nuorodą:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Spustelėkite Gerai (šiame lauke galite įvesti keletą nuorodų, atskirtų kableliu). Tada eikite į „Tools - Board - Boards Manager“ filtro lauke, įveskite Attiny ir pasirinkite „David A. Mellis attiny“. Spustelėkite Įdiegti ir palaukite, kol atsisiuntimas bus baigtas.
Jums taip pat reikės bibliotekos, kad galėtumėte naudoti ekraną „Oled“. Jų yra labai daug, man patiko, ir aš rekomenduoju naudoti „TinyOzOLED“. Tai patogu ir, svarbiausia, tinka atmintyje:
Ateityje galite išplėsti laikrodžio funkcionalumą, pridėdami temperatūros jutiklį. Nedelsdami pridėkite šio jutiklio biblioteką. „OneWire“ biblioteka.
Įdiekite šias bibliotekas. Norėdami tai padaryti, galite tiesiogiai „Arduino IDE“ programavimo aplinkoje, neišpakuodami atsisiųstų archyvų, pasirinkti meniu „Sketch - Connect Library“. Pačiame išskleidžiamojo sąrašo viršuje pasirinkite elementą „Pridėti .Zip biblioteką“. Atsidariusiame dialogo lange pasirinkite biblioteką, kurią norite įtraukti, šiuo atveju - dvi atsisiųstas. Dabar vėl atidarykite meniu „Sketch - Connect Library“. Pačiame išskleidžiamojo sąrašo apačioje turėtumėte pamatyti naujas bibliotekas. Nuo šiol bibliotekos gali būti naudojamos programose. Po viso to paleiskite „Arduino IDE“ iš naujo. Taip pat galite tiesiog išpakuoti jį aplanke „bibliotekos“, esančiame aplanke, kuriame įdiegta „Arduino IDE“.
5 veiksmas. Programuotojo paruošimas.
„Digispark Attiny85“ galima programuoti per plokštės „micro USB“ jungtį, naudojant „Arduino IDE“. Tačiau jūs turite paaukoti 2 KB 8 KB „Flash“ atminties įkrovos įkrovikliui.Laikrodžio eskizas netinka įkrovos įkrovikliui, todėl jūs turite naudoti IPT programuotoją ir taip ištrinti įkrovos kaupiklį. Jei neturite IPT programuotojo po ranka (kaip mano), vietoj jo galite naudoti „Arduino“ plokštę. Aš naudosiu Arduino Uno. Bet jūs galite naudoti bet kurią kitą plokštę. Taigi, mes prijungiame Arduino Uno prie kompiuterio. Paleiskite „Arduino IDE“, atidarykite failą - pavyzdžiai - „Arduino ISP“. Meniu pasirinkite Įrankiai - Lenta - „Arduino Uno“. Mes pasirenkame prievadą, prie kurio jis prijungtas, „Arduino“ ir paspaudimų atsisiuntimą. Eskizas pradedamas patarimu, kaip prijungti „Arduino“ prie programuojamo valdiklio.
// 10: vergo atstatymas
// 11: MOSI
// 12: MISO
// 13: SCK
Prisijungimo prie „Digispark Attiny85“ schema:
„Arduino UNO“ - „Digispark Attiny85“
D11 - P0
D12 - P1
D13 - P2
D10 - P5
6 žingsnis Paruoškite laidą eskizui įkelti.
Eskizui yra keletas variantų, ir tik patogumui atsisiųsti mes pagaminsime laidą, jungiantį „Arduino Uno“ (kaip ISP programuotoją) ir mūsų laikrodį. Čia taip pat rekomenduoju naudoti spalvotus laidus, kurie atitiktų mūsų jau naudojamą spalvą. Viena vertus, turėtų būti blokas:
PB0 geltona | PB1 mėlyna | PB2 mėlyna | PB5 pilka | +5 raudona | GND juoda
Šis blokas jungiasi su laikrodžiu, laikrodžio bloko viršuje.
Kita vertus, yra dvi trinkelės, skirtos prisijungti prie „Arduino Uno“:
10 kaiščių pilka | 11 kaištis geltonas | 12 kaištis mėlynas | 13 kaištis mėlynas
+5 raudona | GND juoda
Tai turėtų atrodyti maždaug taip:
7 veiksmas Firmware.
Taigi, aš parašiau keletą mūsų laikrodžių eskizų variantų. Vėliau parašysiu, kokie yra skirtumai, ir viską išdėstysiu. Norėdami užpildyti eskizą, paleiskite „Arduino IDE“, pasirinkite meniu „Įrankiai“ ir nustatykite šiuos parametrus:
Lenta - Attiny 25/45/85
Procesorius - „Attiny 85“
Laikrodis - vidinis 16
Pasirinkite nuoseklųjį prievadą, prie kurio ISP programuotojas arba „Arduino“ yra prijungtas kaip programuotojas. Be to, meniu Įrankiai - programuotojas pasirinkite „Arduino as ISP“. Dabar pasirinkite Eskizas - atsisiųskite per programuotoją. Belieka palaukti, kol atsisiuntimas bus baigtas.
8 žingsnis. Eskizai.
Pirmasis variantas yra laikrodis su data. Norėdami nustatyti laiką, turėsite prijungti mygtukus, maždaug taip:
Prie kaiščių PB1, PB3, PB4.
Antrasis variantas yra tik laikrodis. Norėdami nustatyti laiką, kurį turite naudoti USB-TTL.
Ir trečias variantas, stalo laikrodis su data ir termometras.
9 žingsnis Paleiskite.
Norėdami paleisti laikrodį, jei naudojate ličio bateriją, bloke tarp kontaktų BAT, +5 ir VCC turite įdiegti trumpiklį. Galite naudoti nedidelį plonos vielos gabalą. Jei turite akumuliatorių, jums reikės dviejų trumpiklių, pirmąjį padėkite tarp BAT ir Vin, antrąjį - + 5 ir VCC.