Pozdrav svima i lijep dan ili večer. Ovaj put ću podijeliti upute za izradu sobnog sata s termometrom. Računalni centar sata bit će Attiny85, sastavljen na ploči iz Digisparka. Za prikaz sata - Oled zaslon. Termometar - poznati ds18b20. Za napajanje uzimamo li-ion 18650 (mogu se dobiti iz stare baterije iz prijenosnog računala). I dodajte prikaz razine baterije. Kao i u svim mojim prethodnim satovima, uspjet ćemo bez modula RTC (sat u stvarnom vremenu).
Prikupljamo sve što je potrebno:
- Digispark Attiny85 (mikro USB verzija)
- ds18b20 (u plastičnom kućištu)
- Oledni ekran rezolucije 128x64, I2C
- 2pcs 18650 baterija ili stara Li-ion baterija za prijenosno računalo
- otpornici (3,3 kΩ, 4,7 kΩ, 10 kΩ)
- tanka plastika (za kućište)
- Spajanje žica različitih boja
- ISP programer (ili bilo koji drugi) Težak naknada)
- Gumb
- Dupontovi konektori 2,54 mm "majka", "otac"
- Dopisni nož, dvostrana traka, električna vrpca, topljenje
- Sve za lemljenje (lemljenje, kolofonija, lemljenje)
Korak 1 slučaj.
Buduća futrola sata bit će izrađena od tanke plastike. List takve plastike možete kupiti u specijaliziranoj trgovini ili naručiti na aliexpressu. Ili možete (ne čekati i ne gledati) otići u ured sveštenika i kupiti mapu s plastičnim papirom vaše omiljene boje. Dimenzije budućeg sata: širina - 40 mm, debljina - 30 mm, visina - 70 mm. Prema dijagramu ispod, izrezali smo skeniranje iz plastike:
Rezamo duž debelih linija, lagano se savijamo duž tankih linija. Izrezali smo pravokutnik u sredini pomoću klerikalnog noža, ovo je prozor za prikaz. Kao rezultat toga, dobivamo skeniranje plastike:
Prelazimo u Attiny.
2. korak Attiny + Oled.
Kao što rekoh, u našem srcu domaći bit će Attiny 85. Najbolje je kupiti ovaj čip, odmah spajan na ploču, zajedno s regulatorom napona i kabelskim snopom. Digispark Attiny85 je vrlo pogodan. Odaberite verziju s mikro-USB-om na ploči. Ostale izmjene ploče neće odgovarati veličini. Dešava se da se ova ploča prodaje s već spojenim „muškim“ priključcima Dupon. Ako je to slučajno, lepite sve priključke. Prikupljamo žice u boji. Trebamo 10 centimetara u različitim bojama. Lemimo ih u Attiny i zapisujemo kojoj žici, kojem zaključku odgovara. Žice P0 i P2 moraju se lemiti u dvije žice. Drugi par potreban je za povezivanje zaslona Oled. Dobijamo sljedeće:
Na žicu sam napisao sljedeći dijagram:
Zaslon je malen (da bi se podudarao s kontrolerom), ali izgleda lijepo. OLED (organska svjetlosna dioda) je grafički prikaz. Nema pozadinskog osvjetljenja, a umjesto toga, svaki je piksel neovisna LED. Veličine zaslona - 0,96 inča.Rezolucija 128x64. Spojen preko I2C sabirnice. Za povezivanje s Attiny koristi samo dvije žice. Dolaze u različitim bojama, birajte po vašem ukusu. Svidjela mi se plava sa žutom prugom na vrhu. Ponašamo se slično kao u Digisparku. Ako postoje lemljeni konektori - lepite ih. Zalege za sada imaju samo žice napajanja:
Budite oprezni pri lemljenju, ne oštećujte kabel s lemilicom na zaslonu:
Ploče povezujemo dvostranom trakom:
Spajamo zaslon Digispark Attiny i Oled zajedno prema shemi (boje žica mogu varirati, glavna stvar je da se ne miješate sa zaključcima):
Radi praktičnosti i narudžbe skupljamo sve žice zajedno. Možete ih uviti električnom vrpcom kako se ne bi zbunili:
Na kraju svih žica pričvrstimo Dupont "ženski" konektor, umetnemo ga u izolatore i sve zajedno omotamo električnom trakom kako bi napravili konektor. Također bilježimo zavrtanje konektora:
Otvor bi trebao biti takav, jer ćemo ubuduće na konektor spojiti žicu za firmver ili druge elemente sata.
Dobivenu strukturu zalijepimo u kućište i ne zaboravimo zalijepiti sam slučaj, ostavljajući jedno stezanje da nije zalijepljen za daljnje manipulacije:
Prilikom lijepljenja obratite pažnju da je zaslon ujednačen:
Korak 3 Snaga.
Za snagu ćemo upotrijebiti dva Li-ionska elementa. Unesite 18650. Možete ih kupiti zasebno. U tom slučaju ih paralelno lepite, izolirajte i izvucite konektor za spajanje i naknadno punjenje:
Mnogi imaju starija prijenosna računala. Bilo da više ne rade ili rade kroz vrijeme. Čak i ako je baterija prijenosnog računala već loša i nije prikladna za njenu namjeravanu upotrebu, može se koristiti za sve vrste domaćih proizvoda. U našem slučaju za sat. Bateriju uzimamo sa prijenosnog računala:
Glavna stvar je da je on Li-ion. Pažljivo ga rastavimo, trebate otvoriti plastičnu kutiju kako ne biste oštetili element iznutra. Najčešće je baterija podijeljena u dva elementa koja su paralelno povezana. Izvadimo ih i odvojimo jedan par od ostalih:
Najbolje je lemljenje na kontaktne jastučiće:
Zalijepite ovaj par na stražnju stranu sata:
Korak 4 Utvrđivanje napunjenosti baterije.
Prikladna funkcija sata je naznačiti napunjenost baterije. Stupanj naboja odredit ćemo naponom. Minimalni napon za ove baterije je 2,4 V. Ne može se dalje prazniti. Maksimalni napon je 4,2 V.
Mjerenje napona na analognom priključku uvijek je u odnosu na neki drugi napon. Ne možemo koristiti AREF pin mikrokontrolera koji služi za podešavanje referentnog napona. Također je nemoguće izmjeriti napon u odnosu na opskrbni napon (omjer će uvijek biti isti). Stoga ćemo odrediti napon u odnosu na unutarnji referentni napon ili Vbg (Bandgap referentni napon). To je 1,1 V. Sada moramo izračunati djelitelj napona za našu bateriju, tako da je kod maksimalnog naboja (4,2 V) djelitelj imao (1,1 V). Možete izračunati formulom:
Ili koristite
R1 uzimaju nominalnu vrijednost od 10 kOhm. Tada R2 dobivamo 3,55 KOhm, najbliži od standardnih vrijednosti 3,3 KOhm, i uzmemo ga. Mjerenja se obavljaju između unutarnjeg napona i GND-a, tako da je otpornik od 3,3 KΩ lemljen na minus, a 10 KΩ na plus. Na baterije postavljamo otpornike, povlačimo žicu iz razdjelnika.
Izoliramo sve kontakte kako ne bi došlo do kratkog spoja:
Žica iz razdjelnika bit će spojena na PB4.
Korak 5 Izmjerite temperaturu.
Izvrsna dopuna satu je mjerenje sobne temperature. Koristit ćemo integrirani temperaturni senzor DS18B20. Za rad s njom potrebna je samo jedna žica (vrlo korisna kada koristite Attiny 85). Sva mjerenja vrši sam, središnji kontroler ne smeta (Attiny 85 također ima izvrsnu memoriju i tako malo), samo trebamo dati naredbe i dobiti rezultate. Postoji nekoliko različitih shema za povezivanje ovog senzora, koristit ćemo opciju koja je za ovaj slučaj optimalna, po mom mišljenju.Korištenje vanjskog napajanja i otpornika od 4,7 kΩ:
Zalijepite male žice i pričvrstite konektore
Žica iz DQ osjetnika spojena je na PB 3.
6. korak.
Imamo nekoliko zaključaka, ali postoji mnogo zahtjeva za satove. Koristit ćemo jedan gumb za podešavanje vremena. Ne možemo računati na više. Zalijepite žice na gumb, jedan kontakt od njega na GND. Kombinirajte s našim senzorom temperature:
Drugi kontakt s gumba povezan je na PB 1.
7. korak Priprema razvojnog okruženja
Za daljnji rad sa skicom, kao i njeno uređivanje i popunjavanje, potreban nam je Arduino IDE. Preuzmi ovaj program sa:
Sada dodajte podršku za Attiny 85 u srijedu. Otvorite Arduion IDE i krenite stazom:
Datoteka - Postavke - "Dodatni URL-ovi upravitelja odbora" umetnite vezu:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Kliknite U redu.
Idite na:
Alati - Board - Board Board unesite Attiny i kliknite na "attiny by David A. Mellis". Kliknite "Instaliraj" i ostavite stavite kavu.
A sada o knjižnicama. Potrebna su im dva:
Za rad s zaslonom Oled
Upravljanje senzorom temperature
Nakon preuzimanja ovih arhiva otpakirajte ih u mapu "knjižnice", što je lako pronaći prolazeći instalacijskim putem ID-a Arduino.
Korak 8 Programer.
Digispark Attiny 85 je sjajna ploča. Dizajniran za povezivanje s USB računarom. I to se može programirati kroz njega. No Attiny koristi softverski USB koji zauzvrat zauzima 2 KB 8 KB memorije. To nam ne odgovara i zato ćemo Attiny 85 bljeskati kroz ISP sučelje. I ovdje nam treba ISP programer. Ako je nema - nema veze. Uzmi Arduino. U mom slučaju Arduino UNO:
Možete preuzeti bilo koju drugu kompatibilnu ploču iz linije Arduino. Spojimo se na računalo, otvorimo Arduino IDE, odaberemo port na koji je Arduino ploča spojena, otvorimo skicu u primjerima, Arduino ISP i ispunimo je u ploču. Također nam treba žica za brzo povezivanje s Attinyjem.
Veza je sljedeća:
D11 - P0
D12 - P1
D13 - P2
D10 - P5
Ne zaboravite na Attiny prehranu.
9. korak Uredite i ispunite skicu.
Preuzmite skicu
Prije punjenja trebate urediti skicu.
Ds18b20 integrirani senzor, kao što je spomenuto ranije, radi pomoću protokola One Wire. Svaki senzor ima svoju jedinstvenu 64-bitnu adresu. Trebate pronaći adresu svog senzora i upisati ga u skicu. Otvorite Arduino IDE, slijedite put:
Datoteka - Primjeri - Temperatura u Dallasu - OneWireSearch.
Ispunite skicu u Arduino. Otvorite monitor vrata. Trebali biste vidjeti adrese svih priključenih senzora i njihova očitavanja temperature. Zapisujemo vašu adresu. Otvori moju skicu i u retku promijeni svoju adresu:
byte addr [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};
Za podešavanje napretka sata koristite sljedeću konstantu:
if (micros () - prevmicros> gt; [b] 497000 [/ b])
Što je ta vrijednost veća, to je sat sporiji.
Za kontrolu se na ekranu prikazuju sekunde:
OzOled.printNumber ((long) sek, 0, 7); // izlazne sekunde za precizno podešavanje
Komentirajte ovaj redak da biste uklonili sekunde.
Sada povezujemo programera ili Arduino-a kao programera, odaberite com-port, u izborniku Tools odaberite našu ploču i postavljamo sljedeće parametre:
Odbor: Attiny 25/45/85
Procesor: Attiny 85
Sat: unutarnji 16
Zatim u istom izborniku odaberite:
Alati - Programer - "Arduino kao ISP".
I na kraju:
Sketch - Preuzimanje putem programera
Korak 10 Završna montaža i pokretanje.
Isključite programator i povežite senzor, napajanje i gumb:
Dok se ne konfigurira tok sata, kućište možete zatvoriti pomoću gumene gume. Kada završite, možete ga zalijepiti.