Luettelo mitä tarvitsemme:
- Digispark Attiny85
- Öljytty näyttö 128x64 I2C
- ds18b20-lämpötila-anturi
- Vastus 4,7 Kom 0,25 W
- ISP-ohjelmoija tai Työläs Digispark Attiny85 -laiteohjelmakortti
- Muovitabletti, jossa paperiliitin tai ohut muovilevy
- johdot
- Dupont 2,54 mm “naarasliittimet”
- Painikkeet 2 kpl.
- Pieni piirilevy tai pieni verhoilu
- juotosrauta
- Juote, hartsi
- sakset
- toimistoveitsi
- Kuuma liima-ase
- Kuuma liima
Vaihe 1 Komponenttien valinta.
Pääkontrollerina käytämme Digispark Attiny85: tä. Niitä on useita tyyppejä. Tarvitsemme korttia, jossa on micro USB-liitin. Loput eivät mahtu rannekoteloon.
Näyttöä varten tarvitaan Oled 128x64 I2C -näyttö. Niitä on erivärisiä: valkoinen, sininen, sininen ja keltainen. Kiinnitän huomionne! Termi ”kaksivärinen” tämän näytön kuvauksessa tai otsikossa tarkoittaa yhden värin nauhaa näytön yläosassa ja toinen väri koko jäljellä olevaa näyttöä, eikä kykyä näyttää kahta väriä tällä näytöllä! Kaikissa tämän tyyppisissä näytöissä on vain yksi väri tai yläreunassa yhden värin nauhat alareunassa - toinen. Kuten esimerkiksi se, jota aion käyttää. Yllä oleva palkki on keltainen, loput näyttö on sininen. Voit valita minkä tahansa värin haluat.
Tarvitsemme myös integroitua lämpötila-anturia DS18B20. Sitä ei valittu sattumalta. Ensinnäkin, DS18B20 kommunikoi mikrokontrollerin kanssa yksijohtimisen tietolinjan välityksellä käyttämällä 1-johdinrajapintaprotokollaa. Tämä on tärkeätä tapauksessamme, koska Attiny85: n päätelmät ilman anturia ovat vain vähän. Toiseksi, tämä anturi on numero, ts. Se suorittaa kaikki mittaukset itse ja lähettää vain lämpötilatiedot kuluttamatta Attiny85: n laskentaresursseja.
Mitä tulee muuhun, mielestäni ei ole kysymyksiä, joten siirrymme eteenpäin tapauksen valmistamiseen.
Vaihe 2 Kotelon kokoaminen.
Kellon kotelo on valmistettu ohuesta muovista. Minulla oli muovitabletti, jossa paperiliitin käsissäni. Se on tarpeeksi kova pitääkseen muodonsa, ja samalla se voidaan leikata tavallisilla saksilla ja toimistoveitsellä. Hän keksi täydellisesti.Jos sitä ei ole käsillä, voit ostaa tabletin toimistotarvikekaupasta tai löytää oikean muovin korvaamaan tabletin. Teemme merkinnät muoville kaavion mukaan:
Leikkaa kaikki kiinteät viivat pois. Pistetty - leikattu hiukan toimistoveitsellä. Pisteviivat ovat taiteviivoja. Kuten jo ymmärsit, tämä on tavallinen kuutioasettelu. Seuraavaksi sinun täytyy juottaa johdot näytölle, on parasta ottaa monivärinen ja kirjoittaa ylös mikä johtaa mihin. Liimaamme näytön keskiosan sulaliiman kanssa niin, että se osoittaa ulospäin takapuolelle. Kuten huomaat, olemme sulkeneet näytön nastat. Siksi oli tarpeen kirjoittaa ne muistiin. Annoin hiukan veitselle ja katkaisin siten vartalon alaosan. Siinä ei ole mitään vikaa, kaikki voidaan liimata. Mutta on parempi olla toistamatta virheitäni.
Tuloksen tulisi olla seuraava:
Tässä tapauksessa asia on valmis. Voit silti leikata takakannen samasta muovista, mutta tämä on valinnainen.
Vaihe 3 Juotos.
Tapauksemme on pieni, ja meidän on siellä asuttava paljon. Siksi otamme osan piirilevystä, joka ei ole suurempi kuin 2,8 x 2,8 mm, ja juote kahdessa painikkeessa, ds18b20-anturissa, vastuksessa ja useissa koskettimissa. Seuraavan järjestelmän mukaan:
Johtojen juottaminen suoraan Attinyyn ei ole välttämätöntä, koska kaikki laiteohjelmistot on kytkettävä irti. Tuloksen pitäisi olla jotain tällaista:
Painikkeita tarvitaan ajan asettamiseen. Virta voidaan kuluttaa tietokoneen USB-portista. Yhdistämällä plus ja miinus vastaavasti:
Jos haluat tehdä ilman johtoja, sinun on löydettävä pieni litium-ioniakku. Tässä on yksi, esimerkiksi:
Tämä akku sopii kotelon sisään. On tarpeen antaa vain päätelmät akun latauksesta.
Vaihe 4 Ohjelmoijan valmistelu.
Digispark Attiny85 voidaan ohjelmoida kortin mikro-USB-liittimen kautta käyttämällä Arduino IDE: tä ohjelmointiympäristönä. Mutta samaan aikaan joudut uhraamaan 2 kt muistia käynnistyslataajalle. Attiny 85: ssä on yhteensä 8 kt Flash-muistia. Luonnokseni ei sovi käynnistyslataimen kanssa, joten minun on ohjelmoitava Internet-palveluntarjoajan kautta. Minulla ei ole sellaista ohjelmoijaa, mutta on Arduino Uno -taulu, jota aion käyttää ohjelmoijana. Jos sinulla on ISB-ohjelmoija, voit ohittaa tämän kohteen. Avaa Arduino IDE ja täytä ArduinoISP-niminen luonnos Arduino Unoon. Löydät sen kuten tämä tiedosto - Esimerkit - Arduino ISP. Luonnos alkaa vinkillä Arduinon kytkemiseen ohjelmoitavaan ohjaimeen. Arduino Unon sijasta voi olla mikä tahansa muu Arduino-hallitus.
// 10: orjan palautus
// 11: MOSI
// 12: MISO
// 13: SCK
Yhteyskaavio Digispark Attiny85: lle:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5
Vaihe 5 Ohjelmointiympäristön valmistelu.
Voit muokata laiteohjelmistoa ja täyttää luonnos Attiny 85: ssä ohjelmoijan lisäksi myös itse ohjelmointiympäristön. Asenna tätä varten Arduino IDE viralliselta Arduino.cc-sivustolta ja asenna myös mikrokontrollerien Attiny-lisäosa Boards Manager -sovelluksen kautta.
Käynnistä Arduino IDE ja valitse sitten File - Settings - Lisäpaneelien hallinnan URL-osoitteet -kenttään - liitä linkki:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
napsauta OK (tähän kenttään voit kirjoittaa useita pilkuilla erotettuja linkkejä). Seuraava työkalu - Board - Boards Manager suodatinkenttään, kirjoita Attiny ja napsauta "attiny by David A. Mellis". Napsauta Asenna ja odota latauksen päättymistä. Valitse nyt Työkalut-valikosta:
Hallitus - Attiny 25/45/85
Suoritin - Attiny 85
Kello - sisäinen 16
ja valitse sarjaportti, johon ISP-ohjelmoija tai Arduino on kytketty ohjelmoijana.
Yritin monta eri kirjastoa näytön kanssa työskentelemiseen. Mielestäni mukavin ja toimiva Attiny85: TinyOzOLED -työkalulla.
Lämpötila-anturi tarvitsee OneWire-kirjaston.
Asenna nämä kaksi kirjastoa. Voit asentaa kolmansien osapuolien kirjastot suoraan ohjelmointiympäristöön. Puramatta ladattuja arkistoja, valitse Arduino IDE: ssä Sketch - Connect Library -valikko. Valitse avattavan luettelon yläosasta Lisää .Zip-kirjastot. Valitse avautuvassa valintaikkunassa kirjasto, jonka haluat lisätä. Avaa Sketch - Connect Library -valikko uudelleen. Avattavan luettelon alaosassa pitäisi olla uusi kirjasto. Nyt kirjastoa voidaan käyttää ohjelmissa. Älä unohda käynnistää Arduino IDE uudelleen tämän jälkeen.Jos tämä ei auta, pura arkistot vain kirjastojen kansioon, joka sijaitsee kansiossa, jossa Arduino IDE on asennettu.
Vaihe 6 Muokkaa ja täytä luonnos.
Lämpötila-anturi toimii One Wire -protokollan mukaisesti ja sillä on jokaiselle laitteelle yksilöivä osoite - 64-bittinen koodi. Likaiset resurssit eivät riitä etsimään tätä koodia joka kerta. Siksi anturi on ensin kytkettävä mihin tahansa Arduino-korttiin, täyttämällä Tiedosto - Esimerkit - Dallas-lämpötila - OneWireSearch-valikossa oleva luonnos. Suorita seuraavaksi Työkalut - Portmonitori. Arduinon pitäisi löytää anturi, kirjoittaa sen osoite ja nykyiset lämpötilalukemat. Kopioimme tai yksinkertaisesti kirjoitamme anturimme osoitteen. Avaa luonnos Attiny85_Oled_SPI_Term_2, etsi rivi:
tavun addr [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};
Me kirjoitamme anturisi osoitteen pidikkeiden väliin korvaamalla anturini osoitteen. Yhdistä sen jälkeen Attiny ohjelmoijaan tai Arduino ohjelmoijaksi (tämä kuvataan vaiheessa 4) ja täytä luonnos. Vielä on irrotettava ohjelmoija ja kytkettävä kaikki järjestelmän mukaan 3 vaiheessa. Kokoelma osoittautuu jotain tällaista:
Näyttö on pieni, on mahdotonta asettaa sekä aikaa että lämpötilaa niin, että se on näkyvissä. Siksi kello muuttaa aikaa lämpötilan lukemalla 10 sekunnin välein.