» elektronika » Težak »Oled satovi na Attiny85

Oled satovi na Attiny85

Dobar dan i opet sam sa svojim igračkama. Danas vam predstavljam upute za izradu malih, ali simpatičnih satova s ​​senzorom sobne temperature.
Oled satovi na Attiny85


Popis onoga što trebamo:
- Digispark Attiny85
- Oledni zaslon 128x64 I2C
- senzor temperature ds18b20
- Otpornik 4,7 Kom 0,25 W
- ISP programer ili Težak Ploča firmvera Digispark Attiny85
- Plastična tableta s spajalicom za papir ili list tanke plastike
- žice
- Dupont 2,54 mm „ženski“ konektori
- Gumbi 2 kom.
- Mala pločica ili mala obloga
- lemljenje željeza
- lem, kolofonija
- škare
- svećenički nož
- pištolj s vrućim ljepilom
- Vruće ljepilo

Korak 1 Odabir komponenata.
Kao glavni kontroler koristit ćemo Digispark Attiny85. Postoji nekoliko vrsta njih. Trebamo ploču s mikro USB priključkom. Ostatak se neće uklopiti u futrolu satova.

Za prikaz nam je potreban Oled 128x64 I2C zaslon. Dolaze u različitim bojama: bijela, plava, plava sa žutom. Skrećem vam pažnju! Izraz "dvobojna" u opisu ili naslovu ovog zaslona znači traku jedne boje na vrhu zaslona, ​​a drugu boju cijeli preostali zaslon, a ne mogućnost prikazivanja dvije boje s ovim zaslonom! Svi zasloni ove vrste prikazuju samo jednu boju ili pri vrhu traku jedne boje, a na dnu drugu. Kao na primjer onaj koji ću koristiti. Vrh iznad je žut, ostatak zaslona plav. Možete odabrati bilo koju boju koja vam se sviđa.
Također nam je potreban integrirani temperaturni senzor DS18B20. Nije izabran slučajno. Prvo, DS18B20 komunicira s mikrokontrolerom preko jednožilne komunikacijske linije pomoću protokola 1-Wire sučelja. U našem slučaju to je važno jer su zaključci Attiny85 bez senzora malo. Drugo, ovaj je senzor znamenka, to jest, on sam vrši sva mjerenja i jednostavno prenosi temperaturne podatke bez trošenja računalnih resursa Attiny85.

Što se tiče ostatka, mislim da više neće biti pitanja, pa krenimo na proizvodnju slučaja.

Korak 2 Montaža kućišta.
Futrola sata bit će izrađena od tanke plastike. Na rukama sam imao plastični tablet s spajalicom za papir. Dovoljno je čvrst da drži oblik, a istovremeno se može rezati običnim škarama i uredskim nožem. Savršio se savršeno.Ako vam nije pri ruci, tablet možete kupiti u prodavaonici uredskog materijala ili pronaći odgovarajuću plastiku koja će zamijeniti tablet. Oznake izrađujemo na plastici prema shemi:


Izrežite sve čvrste crte. Točkano - malo izrezano klerikalnim nožem. Točkaste linije su preklopi. Kao što ste već shvatili, ovo je uobičajeni izgled kocke. Dalje, trebate lemiti žice na zaslon, najbolje je uzeti raznobojne i napisati što dovodi do čega. Na sredinu zalijepite zaslon vrućim ljepilom, tako da prednja strana izlazi sa stražnje strane. Kao što vidite, zatvorili smo oznake igle zaslona. Stoga ih je bilo potrebno zapisati. Lagano sam predao nož i time odsjekao donji dio tijela. Nema tu ništa loše, sve se može zalijepiti. Ali bolje je ne ponavljati moje pogreške.



Rezultat bi trebao biti takav:


O ovom slučaju je spreman. Stražnji pokrov i dalje možete izrezati iz iste plastike, ali to nije obavezno.

Korak 3 Zalijevamo.
Naš je slučaj malen i tamo moramo puno strpati. Stoga uzmemo komad pločice ne veće od 2,8 x 2,8 mm i lemimo u dva gumba, ds18b20 senzor, otpornik i nekoliko kontakata. Prema sljedećoj shemi:


Žice nisu potrebne za lemljenje izravno na Attiny, jer je neophodno odspojiti sve zbog upravljačkog softvera. Rezultat bi trebao biti ovako:



Za postavljanje vremena potrebni su gumbi. Napajanje se može preuzeti s USB porta računala. Kombiniranje plusa i minusa:


Ako želite učiniti bez žica, morate pronaći malu litij-ionsku bateriju. Evo jednog, na primjer:


Ova se baterija uklapa u kućište. Potrebno je samo dati zaključke o napunjenosti baterije.

Korak 4 Priprema programera.
Digispark Attiny85 može se programirati putem mikro USB priključka na ploči, koristeći Arduino IDE kao programsko okruženje. Ali istovremeno morate žrtvovati 2 KB memorije za bootloader. Attiny 85 ima ukupno 8 KB Flash-a. Moja skica se ne uklapa u program za pokretanje programa za podizanje sustava, pa moram programirati preko ISP programera. Nemam takvog programera, ali postoji ploča Arduino Uno, koju ću koristiti kao programer. Ako imate ISB programera, možete preskočiti ovu stavku. Otvorite Arduino IDE i ispunite našu skicu ArduinoISP u našu Arduino Uno. Možete ga pronaći poput ove datoteke - Primjeri - Arduino ISP. Skica počinje nagovještajem kako spojiti Arduino na programirajući kontroler. Umjesto Arduino Unoa, može postojati bilo koja druga Arduino ploča.
// 10: resetiranje robova
// 11: MOSI
// 12: MISO
// 13: SCK


Shema veze s Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5


Korak 5 Priprema programskog okruženja.
Da biste uredili firmver i ispunili skicu u Attiny 85, morate pripremiti ne samo programera, već i samog programskog okruženja. Da biste to učinili, instalirajte Arduino IDE s službenog web mjesta Arduino.cc, a također instalirajte dodatak za Attiny mikrokontrolere preko Upravitelja ploča.

Pokrenite Arduino IDE, a zatim Datoteka - Postavke - u polje URL-ovi dodatnog odbora upravitelja zalijepite vezu:

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


kliknite U redu (u ovo polje možete unijeti nekoliko veza odvojenih zarezom). Sljedeći Alati - Board - Board Board Manager u polje filtera, unesite Attiny i kliknite na "attiny by David A. Mellis". Kliknite Instaliraj i pričekajte da se preuzimanje završi. Sada u izborniku Alati odaberite:
Odbor - Attiny 25/45/85
Procesor - Attiny 85
Sat - unutarnji 16
i odaberite serijski port na koji je kao programer povezan ISP programer ili Arduino.
Isprobao sam mnogo različitih knjižnica za rad s ekranom. Po mom mišljenju najprikladniji i rad na Attiny85: TinyOzOLED.
tinyozoled-master.rar [15,99 Kb] (preuzimanja: 477)


Senzor temperature treba knjižnicu OneWire.
onewire.rar [16,75 Kb] (preuzimanja: 263)


Instalirajte ove dvije knjižnice. Biblioteke treće strane možete instalirati izravno u programskom okruženju. Bez otpakiranja preuzetih arhiva, u Arduino IDE-u odaberite izbornik Sketch - Connect Library. Na samom vrhu padajućeg popisa odaberite stavku Add .Zip library. U dijaloškom okviru koji se pojavi odaberite knjižnicu koju želite dodati. Otvorite izbornik Sketch - Connect knjižnica ponovo. Na dnu padajućeg popisa trebali biste vidjeti novu knjižnicu. Sada se knjižnica može koristiti u programima. Ne zaboravite ponovo pokrenuti Arduino IDE nakon svega ovoga.Ako to ne pomogne, jednostavno raspakirajte arhive u mapu "biblioteke" koja se nalazi u mapi s instaliranim Arduino IDE.

Korak 6 Uredite i ispunite skicu.
Senzor temperature radi prema protokolu One Wire i ima jedinstvenu adresu za svaki uređaj - 64-bitni kod. Resurni resursi nisu dovoljni da svaki put potražite ovaj kôd. Stoga prvo morate spojiti senzor na bilo koju Arduino ploču, ispuniti skicu koja se nalazi u izborniku Datoteka - Primjeri - Temperatura Dallasa - OneWireSearch. Zatim pokrenite Alati - Port Monitor. Arduino bi trebao pronaći naš senzor, upisati njegovu adresu i trenutna očitanja temperature. Kopiramo ili jednostavno zapisujemo adresu našeg senzora. Otvorite skicu Attiny85_Oled_SPI_Term_2, potražite liniju:

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


Zapisujemo adresu vašeg senzora između nagrada, zamjenjujući adresu mog senzora. Nakon toga, povežite Attiny s programerom ili Arduinom kao programerom (to je opisano u koraku 4) i ispunite skicu. Ostaje odspojiti programera i spojiti sve prema shemi u 3 koraka. Skupština ispada ovako:


Zaslon je mali, nemoguće je staviti i vrijeme i temperaturu tako da je vidljiv. Stoga sat mijenja vrijeme s očitanjem temperature svakih 10 sekundi.
attiny85_oled_spi_term_2.rar [2.33 Kb] (preuzimanja: 574)

Attiny 85
Ukupno birača: 118
9.3
10
8.7

Dodajte komentar

    • osmijehosmjesixaxau redudontknowprostakNea
      gazdaogrebotinabudaladaDa-Daagresivantajna
      oprostiteplesdance2dance3pomilovanjepomoćpića
      zaustavljanjeprijateljidobrogoodgoodzviždaljkapasti u nesvijestjezik
      dimpljeskanjeCrayObjavitepodrugljivdon-t_mentionpreuzimanje
      vrućinaljutitlaugh1MDAsastanakmoskingnegativan
      not_ikokicekaznitičitatiuplašitiplašitraži
      podsmijehthank_youovoto_clueumnikakutansložiti
      lošebeeeblack_eyeblum3rumenilohvalisati sedosada
      cenzuriranizadirkivanjesecret2prijetitipobjedayusun_bespectacled
      shokrespektlolpreveddobrodošlikrutoyya_za
      ya_dobryipomoćnikne_huliganne_othodifludzabranablizu
13 komentar
Vseslav
Hvala, hvala!
Autor
Dobra večer Nisam koristio knjižnicu iz Digispart-a. Imaju prevelik bootloader, zajedno s njim skica sata nije stajala. Koristio sam knjižnicu TinyOzOLED. Ona nema ruski. Općenito, s Attiny 85 je teško, ima premalo memorije.
Vseslav
Dobro osmišljen i učinjen, jedna manja mana - natpisi u Aglitskom. Mogu li ih jednostavno zamijeniti za ruski ili je Digisparku to teško učiniti?
Autor
Dobar dan Satovi u stvarnom vremenu zauzimaju dovoljno prostora i neće se uklopiti u ovaj slučaj.
Hmm .. zašto ne biste postavili sat u stvarnom vremenu umjesto senzora temperature?
Autor
Drugi savjet, LED je spojen na Digispar Attiny 85 P1, ako koristite ovaj pin, razmislite o njegovoj prisutnosti. Ovu sam diodu nazvao na svojoj ploči jer se po mom mišljenju samo miješa.
Autor
Dobar dan Nema potrebe da se vrši otpor s otpornikom, jer je ovjes ugrađen u Attiny uključen u skicu. Uklonite suspenziju i pokušajte ponovo.
Možete isprobati i drugu skicu s drugih mojih satova, oni imaju isti kontroler i zaslon, a konfiguracija se vrši jednim gumbom:
https://hrm.imdmyself.com/14217-chasy-s-termometrom-na-attiny.html
Gost Roman
Dobar dan. Hvala na ideji i radu. Samo što moje ruke nisu takve, ili ne razumijem. Gumbi za podešavanje vremena ne rade normalno. Pokušao sam i tvoj skeč i moj, u moju je samo dodao pin modus ulaza i provukao se kroz 10k do 5V. I u tome i u tom gumbu nije bilo jasno kako pritisnuti da se promijeni. Ili imam zakašnjenja ili nešto nije u redu s gumbima, uobičajenim satom.
cool zaslon. Ali bezveze. RAM jede puno.
Ti si majstor! stisnuti u tinku85 takvu.
Autor
U pravu ste, napravili ste tipku, 2,8 x 2,8 cm
Citat: maxim0512
Više se ne uklapaju u slučaj.
Po površini možete i sto puta više nego što ste predložili.
Autor
Više se ne uklapaju u slučaj. Postoje samo dva gumba, otpornik i temperaturni senzor. Sve samo stane.
... ukrašena pločica ne veće od 2,8 x 2,8 mm
Neće biti dovoljno. ))

Savjetujemo vam da pročitate:

Predaj to pametnom telefonu ...