» elektroniikka » Työläs »Kello lämpömittarilla Attiny

Attiny-lämpömittari

Attiny-lämpömittari



Hei kaikki ja pidä mukavaa päivää tai iltaa. Tällä kertaa jaan ohjeet huonekellon valmistamiseksi lämpömittarilla. Kellon laskentakeskus on Attiny85, joka on koottu Digisparkin taululle. Kello - öljytön näytön näyttäminen. Lämpömittari - tunnettu ds18b20. Voiman ottamiseksi otamme li-ion 18650 (ne voidaan hankkia kannettavan tietokoneen vanhasta akusta). Ja lisää näyttö akun varaustasosta. Kuten kaikissa aikaisemmissa kelloissani, teemmekin ilman RTC (reaaliaikakello) -moduulia.

Keräämme kaiken tarvittavan:

- Digispark Attiny85 (mikro-USB-versio)
- ds18b20 (muovikotelossa)
- Öljytty näyttö resoluutiolla 128x64, I2C
- 2 kpl 18650 paristoa tai vanha Li-ion kannettavan tietokoneen akku
- Vastukset (3,3 kΩ, 4,7 kΩ, 10 kΩ)
- ohut muovi (koteloon)
- Eriväriset kytkentäjohdot
- ISP-ohjelmoija (tai mikä tahansa) Työläs maksu)
- Painike
- Dupont-liittimet 2,54 mm "äiti", "isä"
- Paperiveitsi, kaksipuolinen teippi, sähköteippi, sulate
- Kaikki juottamiseen (juotin, kolofoni, juote)

Vaihe 1 tapaus.
Tulevaisuuden rannekotelo on valmistettu ohuesta muovista. Voit ostaa tällaisen muovilevyn erikoisliikkeestä tai tilata aliexpressistä. Ja voit (ei odottaa eikä katsoa) mennä toimistoon ja ostaa suosikkivärisi muovipaperihakemiston. Tulevan kellon mitat: leveys - 40 mm, paksuus - 30 mm, korkeus - 70 mm. Oheisen kaavion mukaan leikkasimme muovista skannatun kuvan:


Leikkaamme paksuja viivoja pitkin, taivutamme varovasti ohuita viivoja pitkin. Leikkasimme keskeltä suorakulmion käyttämällä toimistoveistä. Tämä on ikkuna näytettäväksi. Tuloksena on skannattu muovi:


Kuljemme Attinyyn.

Vaihe 2 Attiny + Oled.
Kuten sanoin, sydämessämme kotitekoinen tulee olemaan Attiny 85. Paras on ostaa tämä siru, joka on juotettu välittömästi levylle yhdessä jännitesäätimen ja valjaiden kanssa. Digispark Attiny85 sopii hyvin. Valitse versio, jossa kortilla on micro-USB. Muut taulun muutokset eivät sovi kooltaan. Tapahtuu, että tämä levy myydään jo juotettujen Dupon “uros” -liittimien kanssa. Juota tällöin kaikki liittimet. Keräämme värillisiä johtimia. Tarvitsemme 10 senttimetriä eri värejä. Juottamme ne Attinyyn ja kirjoitamme, mikä lanka, mikä johtopäätös vastaa. Johdot P0 ja P2 on juotettava kahteen johtoon. Toinen pari tarvitaan Oled-näytön kytkemiseen. Saamme seuraavat:


Kirjoitin seuraavan kaavion lankalle:


Näyttö on pieni (vastaa ohjainta), mutta se näyttää kauniilta. OLED (orgaaninen valoa emittoiva diodi) on graafinen näyttö. Taustavaloa ei ole, vaan jokainen pikseli on itsenäinen LED. Näyttökoot - 0,96 tuumaa.Tarkkuus 128x64. Kytketty I2C-väylän kautta. Käytä vain kahta johtoa yhteyden muodostamiseen Attynyn kanssa. Ne ovat erivärisiä, valitse makusi mukaan. Pidin sinisestä, jonka yläosassa oli keltainen raita. Toimimme samalla tavalla kuin Digispark. Jos on juotettuja liittimiä - juota ne. Juote, toistaiseksi vain virtajohdot:


Ole varovainen juottaessaan, älä vahingoita kaapelia näytön juotosraudalla:


Yhdistämme levyt kaksipuolisella teipillä:


Juottamme Digispark Attiny- ja Oled-näytöt yhdessä kaavion mukaisesti (johtimien värit voivat vaihdella, tärkeintä ei ole sekoittaa johtopäätöksiä):


Mukavuuksien ja tilauksen vuoksi keräämme kaikki johdot yhteen. Voit kiertää niitä sähköteipillä, jotta et hämmentyisi:


Kaikkien johtimien lopussa kiinnitämme Dupontin “emo” -liittimen, aseta se eristeisiin ja kelaa se yhdessä sähköteipillä liittimen muodostamiseksi. Tallennamme myös liittimen pinout:


Ohjeen tulee olla tällainen, koska jatkossa liitämme liittimeen laiteohjelmiston tai muiden kelloselementtien johdot.
Liimaamme tuloksena olevan rakenteen koteloon ja älä unohda liimata itse koteloa, jättämättä yhtä valitusta liimaamattomaksi lisäkäsittelyjä varten:


Kun liimaat, huomioi, että näyttö on tasainen:


Vaihe 3 Virta.
Voiman käyttämiseen käytetään kahta Li-ion-elementtiä. Tyyppi 18650. Voit ostaa ne erikseen. Juota tässä tapauksessa rinnakkain, eristä ja anna liitin liitäntää ja sitä seuraavaa latausta varten:


Monilla on vanhempia kannettavia tietokoneita. Eivätkö he enää toimi tai työskentelevätkö ajan myötä. Vaikka kannettavan tietokoneen akku on jo huono eikä se sovellu aiottuun käyttöön, sitä voidaan käyttää kaikenlaisiin kotitekoisiin tuotteisiin. Meidän tapauksessamme, katsella. Otamme akun kannettavasta tietokoneesta:


Tärkeintä on, että hän on Li-ion. Puramme sen huolellisesti, sinun on avattava muovikotelo, jotta sisäinen elementti ei vaurioituisi. Yleensä akku on jaettu kahteen rinnan kytkettyyn elementtiin. Otamme ne pois ja eristämme yhden parin muista:


Parasta on juottaa kosketuslevyihin:


Liimaa tämä pari kellon takaosaan:


Vaihe 4 Akun latauksen määrittäminen.
Kellon kätevä tehtävä on osoittaa akun lataus. Määritämme varausasteen jännitteen perusteella. Näiden akkujen minimijännite on 2,4 V. Paristoja ei voida purkaa edelleen. Suurin jännite on 4,2 V.

Jännitteen mittaus analogiportissa on aina suhteessa johonkin muuhun jännitteeseen. Emme voi käyttää mikrokontrollerin AREF-nastaa, jota käytetään referenssijännitteen asettamiseen. Jännitettä on myös mahdotonta mitata syöttöjännitteen suhteen (suhde on aina sama). Siksi määritetään jännite suhteessa sisäiseen vertailujännitteeseen tai Vbg: ään (Bandgap-referenssijännite). Se on 1,1 V. Nyt meidän on laskettava akkujemme jännitteenjakaja niin, että jakelijalla olisi suurin varaus (4,2 V) (1,1 V). Voit laskea kaavalla:



Tai käytä

R1: n nimellisarvo on 10 kOhm. Sitten R2 saadaan 3,55 KOhm, lähinnä sopiva arvo 3,3 KOhm: n vakioarvoista, ja otetaan se. Mittaukset tehdään sisäisen jännitteen ja GND: n välillä, joten 3,3 KΩ: n vastus juotetaan miinus-kohtaan ja 10 KΩ: n plus-arvoon. Asetamme vastukset akkuun, vedämme johtimen jakajasta.


Eristämme kaikki koskettimet oikosulun välttämiseksi:


Jakajan johdin kytketään PB4: ään.

Vaihe 5 Mittaa lämpötila.
Erinomainen lisä kellolle on huoneen lämpötilan mittaus. Käytämme integroitua lämpötila-anturia DS18B20. Sen kanssa työskentelemiseksi tarvitaan vain yksi johdin (erittäin hyödyllinen käytettäessä Attiny 85: tä). Kaikki mittaukset tehdään itse, keskusohjain ei vaivaudu (Attiny 85: llä on myös erinomainen muisti ja niin vähän), meidän on vain annettava komennot ja saatava tulokset. Tämän anturin kytkemiseen on useita erilaisia ​​järjestelyjä, käytämme mielestäni parhaimpaa vaihtoehtoa tässä tapauksessa.Käyttämällä ulkoista virtaa ja 4,7 kΩ: n vastusta:


Juota pienet johdot ja kiinnitä liittimet


DQ-anturin johto on kytketty PB 3: een.

Vaihe 6 -painike.
Meillä on vähän johtopäätöksiä, mutta kelloille on monia vaatimuksia. Käytämme yhtä painiketta asettaaksesi ajan. Emme voi luottaa enemmän. Juotosjohdot painikkeeseen, yksi kosketus siitä GND: hen. Yhdistä lämpötila-anturimme kanssa:


Painikkeen toinen kosketin on kytketty PB 1: ään.

Vaihe 7 Kehitysympäristön valmistelu
Jatkotyöhön luonnoksesta sekä sen muokkaamisesta ja täyttämisestä tarvitsemme Arduino IDE: n. Lataa tämä ohjelma osoitteesta:

Lisää nyt tuki Attiny 85: lle keskiviikkona. Avaa Arduion IDE ja mene polkua pitkin:
Tiedosto - Asetukset - "Lisäpaneelien hallinnan URL-osoitteet" lisää linkki:

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


Napsauta OK.
Siirry:
Työkalut - Lauta - Taulupäällikkö tulee Attinyyn ja napsauta ”attiny by David A. Mellis”. Napsauta "Asenna" ja jätä laittamaan kahvia.
Ja nyt kirjastoista. He tarvitsevat kaksi:

Oled-näytön kanssa työskenteleminen

Lämpötila-anturin ohjaus

Kun olet ladannut nämä arkistot, pakkaa ne ”kirjastojen” kansioon, joka on helppo löytää siirtymällä Arduino IDE: n asennuspolulle.

Vaihe 8 Ohjelmoija.
Digispark Attiny 85 on loistava lauta. Suunniteltu liitettäväksi USB-tietokoneeseen. Ja se voidaan ohjelmoida sen kautta. Mutta Attiny käyttää USB-ohjelmistoa, joka vie puolestaan ​​2 kt / 8 kt muistia. Tämä ei sovi meille, ja siksi vilkutamme Attiny 85: tä Internet-palveluntarjoajan käyttöliittymän kautta. Ja täällä tarvitsemme ISP-ohjelmoijaa. Jos sitä ei ole siellä - sillä ei ole väliä. Ota Arduino. Minun tapauksessani Arduino UNO:


Voit ottaa minkä tahansa muun yhteensopivan hallituksen Arduino-linjalta. Yhdistämme tietokoneeseen, avaa Arduino IDE, valitse se portti, johon Arduino-kortti on kytketty, avaa esimerkkien luonnos, Arduino ISP ja täytä se taululle. Tarvitsemme myös johdon yhteyden muodostamiseen nopeasti Attinyyn.


Yhteys on seuraava:

D11 - P0
D12 - P1
D13 - P2
D10 - P5

Älä unohda Attiny-ravintoa.

Vaihe 9 Muokkaa ja täytä luonnos.

Lataa luonnos

Ennen kuin täytät, sinun on muokattava luonnosta.
Integroitu ds18b20-anturi, kuten aiemmin mainittiin, toimii One Wire -protokollalla. Jokaisella anturilla on oma yksilöllinen 64-bittinen osoite. Sinun on löydettävä anturisi osoite ja kirjoitettava se luonnokseen. Avaa Arduino IDE, seuraa polkua:
Tiedosto - Esimerkit - Dallas-lämpötila - OneWireSearch.

Täytä luonnos Arduinoon. Avaa porttinäyttö. Sinun pitäisi nähdä kaikkien kytkettyjen anturien osoitteet ja niiden lämpötilalukemat. Me kirjoitamme osoitteesi. Avaa luonnokseni ja muuta osoite omaan riville:

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


Säädä kellon eteneminen seuraavalla vakiona:

if (mikrot () - prevmicros> [b] 497000 [/ b]) 


Mitä suurempi tämä arvo, sitä hitaampi kello on.
Ohjausta varten sekunteja näytetään näytöllä:

OzOled.printNumber ((pitkä) sek, 0, 7); // lähtösekuntia tarkan virityksen aikaansaamiseksi 


Kommentoi tätä riviä poistaaksesi sekunteja.
Yhdistämme nyt ohjelmoijan tai Arduinon ohjelmoijaksi, valitsemme portin, valitsemme paneelimme Työkalut-valikosta ja asetamme seuraavat parametrit:
Hallitus: Attiny 25/45/85
Suoritin: Attiny 85
Kello: sisäinen 16
Valitse sitten samasta valikosta:
Työkalut - Ohjelmoija - "Arduino as ISP".
Ja lopuksi:
Luonnos - Lataa ohjelmoijan kautta

Vaihe 10 Viimeinen kokoonpano ja laukaisu.
Sammuta ohjelmoija ja kytke anturi, virta ja painike:


Kunnes kellon tarkka kurssi on määritetty, voit sulkea kotelon pankkikumilla. Kun olet valmis, voit liimata sen.


Katso arvostelu
Äänten kokonaismäärä: 13
10
10
10

Lisää kommentti

    • hymyillähymyileexaxakunnossadontknowyahoonea
      pomonaarmutyperyskylläkyllä-kylläaggressiivinensalaisuus
      anteeksitanssidance2dance3anteeksihelpjuomat
      pysäytysystäväthyvägoodgoodpillipyörtyäkieli
      savutaputusCrayjulistaapilkallinenDon-t_mentiondownload
      lämpöirefullaugh1MDAkokousmoskingnegatiivinen
      not_ipopcornrangaistaluettupelästyttääpelottaaetsi
      kiusatathank_youtämäto_clueumnikakuuttisuostua
      huonoBeeeblack_eyeblum3punastuaylpeilläikävystyminen
      sensuroituhassutussecret2uhatavoittoyusun_bespectacled
      SHOKrespektlolprevedtervetuloakrutoyya_za
      ya_dobryiauttajane_huliganne_othodifludkieltolähellä
9 kommentti
Kirjailija
Idea on hieno. Tein jotain siitä. Vain käden ulottuvilla oli 5 kΩ: n muuttuja. Sisällytin sen alaosaan. Ja sitten korvataan sopivimmalla pysyvä. Mutta valmistusohjeissa mielestäni sen kirjoittaminen on tarpeetonta. Miksi et tee näitä mittauksia useita kertoja.
En nähnyt tarvetta kirjoittaa tylsistä ja pitkistä kokeista.
Sinun ei tarvitse tehdä mitään pitkää ja tylsää. Kytke vastus (2.7 ... 3) kOhm alavarteen, peräkkäin sen kanssa 1 kOhm trimmeri. Säädettävästä virtalähteestä syötät sisäänmenoon ohjatun jännitteen ääriarvot, säädät toimintapistettä, sitten voit halutessasi mitata trimmeriresistanssin ja korvata sen vakiovastuksella.
Kirjailija
8 MHz: n taajuudella en yrittänyt käynnistää kelloa ja mitata vastaavasti kurssin tarkkuutta. Kaikki mittaukset tehtiin 16: een sisäpuolelta. En voi myöskään sanoa kuukaudesta. Toistaiseksi he olivat työskennelleet enintään viikon ilman sammuttamista. Kokeet ja parannukset ovat edelleen prosessissa.
Kirjailija
Jännitteenjakajassa on todella paljon vivahteita ja virheitä. Ja vastuksien vastushajonta ja vertailujännitteen sironta. Yritin kaiken käytännössä. Kun käytetään 3,6 kΩ: n vastusta, jopa akun jännitteellä 3,9 V, Attiny-analoginen portti näyttää 1023 (muunnettuna 100%: iin). Kun käytetään 3,3 kΩ: n vastusta, analogisen portin arvo laskee jopa 4,1 V akussa. Siksi kirjoitin, että todistus saadaan tarkemmin, en vain nähnyt tarvetta kirjoittaa tylsistä ja pitkistä oikeudenkäynneistä.
Kirjailija
Asetin viikon viikon, säädin sen etenemistä päivittäin tai useammin. Seurauksena on arvo 497343, joka kiirehtii noin 10 sekuntia viikossa.
Taajuutta voidaan vähentää. En muuttanut parametria, ei ollut tarvetta
No, ja mikä on 8 MHz: n RC-kellon tarkkuus? Kuukaudessa?
ja miksi kello: sisäinen 16?
On parempi valita vähemmän, niin lukemat ovat tarkempia.
Ei tarkemmin, mutta yksinkertaisesti tulojännitteen tulisi olla pienempi kuin referenssi. Lisäksi päättelyssäsi et lainkaan ota huomioon parametrien hajontaa: vastukset, todennäköisesti sinulla on viisi prosenttia, Vbg = (1,0 ... 1,2) V. Joten 3,3 kOhm voi olla liian suuri, ja ehkä 3,6 kOhms tekee.
Kirjailija
Jos käytät 3.6 lähtöjännitettä, saamme 1,11. Vaikka ei paljon, mutta enemmän vertailujännitettä. Kun käytetään 3.3 - 1.04. On parempi valita vähemmän, niin lukemat ovat tarkempia.
Ja mitä Ai, olet oikeassa, en vain kiinnittänyt huomiota tähän pieneen yksityiskohtaan.
Kotelon liimaamisen jälkeen pääsy latauspistorasiaan ja painikkeisiin saadaan kellon pohjasta leikkaamalla pohjakansi tai yksinkertaisesti kiinnittämättä sitä.
Sitten R2 saadaan 3,55 KOhm, lähinnä 3,3 KOhm: n vakioarvoista,
Ei ollenkaan. Lähin E24 vakioalueella on 3,6 kOhm. Ja muuten, ei "KOhm, vaan" KOhm.
Kunnes kellon tarkka kurssi on määritetty, voit sulkea kotelon pankkikumilla. Kun olet valmis, voit liimata sen.
Kuinka lataamme akun?
Ja kuinka manipuloida painiketta?

Suosittelemme lukemaan:

Anna se älypuhelimelle ...