» Electrònica » Arduino »Rellotges Oled a Attiny85

Rellotges Oled a Attiny85

Bona tarda i de nou estic amb les meves joguines. Avui us presento instruccions per fer rellotges petits però simpàtics amb sensor de temperatura ambient.
Rellotges Oled a Attiny85


Llista de què necessitem:
- Digispark Attiny85
- Pantalla Oled 128x64 I2C
- Sensor de temperatura ds18b20
- Resistència 4,7 Kom 0,25 W
- Programador ISP o Arduino Placa de firmware de Digispark Attiny85
- Tableta de plàstic amb pinça de paper o full de plàstic prim
- cables
- Connectors Dupont 2,54 mm "femella"
- Botons 2 peces.
- Placa de circuit petita o petit retall
- soldadura
- Soldadura, colofona
- tisores
- ganivet clerical
- Pistola de cola calenta
- Cola calenta

Pas 1 Selecció de components.
Com a controlador principal utilitzarem Digispark Attiny85. Hi ha diversos tipus. Necessitem una placa amb connector micro USB. La resta no s’adaptaran a la caixa de rellotge.

Per visualitzar-nos, necessitem una pantalla Oled 128x64 I2C. Presenten diferents colors: blanc, blau, blau i groc. Em crida l’atenció! El concepte de "dos colors" a la descripció o títol d'aquesta pantalla significa una franja d'un color a la part superior de la pantalla i el segon color tota la pantalla restant, i no la possibilitat de mostrar dos colors amb aquesta pantalla. Totes les pantalles d’aquest tipus mostren només un color, o a la part superior una banda d’un color a la part inferior - un altre. Com, per exemple, la que faré servir. La barra de dalt és de color groc; la resta de la pantalla és blava. Podeu triar qualsevol color que us agradi.
També necessitem el sensor de temperatura integrat DS18B20. No va ser escollit per casualitat. En primer lloc, el DS18B20 es comunica amb el microcontrolador mitjançant una línia de comunicació d'un sol fil mitjançant el protocol de la interfície d'1 fil. En el nostre cas, això és important, ja que les conclusions d’Attiny85 sense sensor són poques. En segon lloc, aquest sensor és un dígit, és a dir, pren totes les mesures en si mateix i simplement transmet dades de temperatura sense gastar els recursos informàtics d’Attiny85.

Pel que fa a la resta, crec que no hi haurà cap pregunta, així que passem a la fabricació del cas.

Pas 2 Muntatge de l’habitatge.
La funda del rellotge serà de plàstic prim. Tenia una tauleta de plàstic amb un clip de paper a les mans. És prou resistent per mantenir la seva forma i, alhora, es pot tallar amb unes tisores corrents i un ganivet d'oficina. Va sortir perfectament.Si no us queda bé, podeu comprar una tauleta en una botiga de material d’oficina o trobar el plàstic adequat per substituir la tauleta. Realitzem marques sobre plàstic segons l’esquema:


Retalla totes les línies sòlides. Puntejat: lleugerament tallat amb un ganivet clerical. Les línies puntejades són línies plegables. Com ja vau entendre, aquest és el disseny habitual del cub. A continuació, cal soldar els cables a la pantalla, el millor és agafar diversos colors i anotar-los, que condueix a què. Colla la pantalla sobre l’adhesiu de fusió calenta al centre, de manera que la part frontal surti de la part posterior. Com podeu veure, hem tancat les designacions de pins de la pantalla. Per tant, calia anotar-los. Em vaig lliurar lleugerament al ganivet i, així, vaig tallar la part inferior del cos. No hi ha res dolent, tot es pot enganxar. Però és millor no repetir els meus errors.



El resultat ha de ser així:


Sobre aquest cas està a punt. Encara podeu tallar la contraportada del mateix plàstic, però és opcional.

Pas 3: soldem
El nostre cas és petit, i ens hem de penjar molt per allà. Per tant, agafem un tros de la placa de circuit no superior a 2,8 x 2,8 mm i ens soldem en dos botons, un sensor ds18b20, una resistència i diversos contactes. Segons el següent esquema:


No és necessari soldar cables directament a Attiny, ja que cal desconnectar-ho tot per al firmware. El resultat hauria de ser una cosa així:



Es necessiten botons per establir l'hora. L'alimentació es pot prendre des del port USB de l'ordinador. Combinant el plus i el menys, respectivament:


Si voleu passar sense cables, heu de trobar una petita bateria d’ió de liti. Aquí hi ha un, per exemple:


Aquesta bateria s’adapta dins de la caixa. Només cal proporcionar conclusions per a la càrrega de la bateria.

Pas 4 Preparació del programador.
Digispark Attiny85 es pot programar a través del connector micro USB de la pissarra, utilitzant l’Arduino IDE com a entorn de programació. Però, al mateix temps, heu de sacrificar 2 KB de memòria per al carregador d'arrencada. Attiny 85 té un total de 8 KB de flaix. El meu croquis no coincideix amb el carregador d'arrencada, per tant he de programar mitjançant el programador ISP. No tinc aquest programador, però hi ha un tauler d’Arduino Uno, que utilitzaré com a programador. Si teniu un programador ISB, podeu ometre aquest element. Obriu l'IDE Arduino i empleneu el nostre croquis anomenat ArduinoISP al nostre Arduino Uno. Podeu trobar-lo com aquest Fitxer - Exemples - Arduino ISP. El croquis comença amb una idea sobre com connectar Arduino al controlador programable. En lloc d’Arduino Uno, pot haver-hi qualsevol altre tauler d’Arduino.
// 10: restabliment d’esclaus
// 11: MOSI
// 12: MISO
// 13: SCK


Esquema de connexió a Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5


Pas 5 Preparació de l’entorn de programació.
Per editar el firmware i emplenar l'esbós a l'Attiny 85, només heu de preparar no només el programador, sinó també el propi entorn de programació. Per fer-ho, instal·leu l’ID Arduino des del lloc web oficial d’Arduino.cc i també instal·leu el complement per a microcontroladors Attiny a través del Gestor de Juntes.

Inicieu l'IDE Arduino i, a continuació, Fitxer - Paràmetres: al camp URL addicionals del gestor de juntes addicionals, enganxeu l'enllaç:

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


feu clic a D'acord (podeu introduir diversos enllaços separats per una coma en aquest camp). Eines següents: Tauler: Administrador de taules al camp de filtre, introduïu Attiny i feu clic a "attiny de David A. Mellis". Feu clic a Instal·la i espereu que acabi la descàrrega. Ara al menú Eines, seleccioneu:
Board - Attiny 25/45/85
Processador - Atiny 85
Rellotge: interior 16
i seleccioneu el port sèrie al qual es connecta el programador ISP o Arduino com a programador.
Vaig provar moltes biblioteques diferents per treballar amb la pantalla. Al meu parer, el més convenient i que funciona amb Attiny85: TinyOzOLED.
tinyozoled-master.rar [15,99 Kb] (descàrregues: 477)


Un sensor de temperatura necessita la biblioteca OneWire.
onewire.rar [16,75 Kb] (descàrregues: 263)


Instal·leu aquestes dues biblioteques. Podeu instal·lar biblioteques de tercers directament a l’entorn de programació. Sense desempaquetar els arxius descarregats, seleccioneu el menú Arxiu IDE, selecciona el menú Sketch - Connecta la biblioteca. A la part superior de la llista desplegable, seleccioneu Afegeix un element de biblioteca .Zip. Al diàleg que apareix, seleccioneu la biblioteca que voleu afegir. Obriu de nou el menú Sketch - Connecta la biblioteca. A la part inferior de la llista desplegable, haureu de veure una nova biblioteca. Ara la biblioteca es pot utilitzar en programes. No us oblideu de reiniciar l’ID Arduino després de tot això.Si això no serveix de res, simplement descomprimeix els arxius a la carpeta "biblioteques" ubicada a la carpeta amb l'ID Arduino instal·lat.

Pas 6 Edita i emplena l’esbós.
El sensor de temperatura funciona segons el protocol One Wire i té una adreça única per a cada dispositiu: un codi de 64 bits. Els recursos atractius no són suficients per buscar aquest codi cada vegada. Per tant, primer heu de connectar el sensor a qualsevol placa Arduino, empleneu l'esbós situat al menú Fitxer - Exemples - Dallas Temperatura - OneWireSearch. A continuació, executa Eines - Port Monitor. Arduino ha de trobar el nostre sensor, escriure la seva adreça i les lectures de temperatura actuals. Copiem o simplement anotem l’adreça del nostre sensor. Obriu l'esbós Attiny85_Oled_SPI_Term_2, busqueu la línia:

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


Anotem l’adreça del vostre sensor entre claudàtors, substituint l’adreça del meu sensor. Després d'això, connecteu Attiny al programador o Arduino com a programador (es descriu al pas 4) i empleneu l'esbós. Resta desconnectar el programador i connectar tot segons l’esquema en tres passos. El muntatge resulta així:


La pantalla és petita, és impossible posar tant temps com temperatura perquè sigui visible. Per tant, el rellotge canvia l’hora amb una temperatura de lectura cada 10 segons.
attiny85_oled_spi_term_2.rar [2,33 Kb] (descàrregues: 574)

Atinyós 85
Total de votants: 118
9.3
10
8.7

Afegeix un comentari

    • somriuresomriuxaxad'acordno ho séyahoonea
      capratllarximplesísí-síagressiusecret
      ho sentoballarballar2ballar3perdóajudarbegudes
      pararamicsbébondatxiuletswoonllengua
      fumaraplaudintcranideclararderisiudon-t_mentiondescarregar
      calorirritariure1mdareuniómosquitnegatiu
      no_icrispetescastigarllegirporespantosbuscar
      burlargràcies_youaixòto_clueumnikagutd'acord
      dolentbeeeblack_eyeblum3ruborpresumirl'avorriment
      censuradaplaersecret2amenaçarvictòriatusun_bespectacled
      xocrespectlolpreveurebenvingudaKrutoyja_za
      ja_dobryiajudantne_huliganne_othodifludprohibicióa prop
13 comentaris
Vseslav
Gràcies, gràcies!
L’autor
Bon vespre No he utilitzat la biblioteca de Digispart. Tenen un carregador d’arrencada massa gran, juntament amb ell l’esquetx del rellotge no encaixava. He utilitzat la biblioteca TinyOzOLED. No té rus. En general, amb Attiny 85 és difícil, massa poca memòria.
Vseslav
Ben pensat i fet, un defecte menor: les inscripcions a Aglitsky. Es poden bescanviar simplement per russos, o és difícil per a això fer Digispark?
L’autor
Bona tarda Els rellotges en temps real ocupen prou espai, i no entraran en aquest cas.
Hmm .. Per què no posar un rellotge en temps real en lloc d’un sensor de temperatura?
L’autor
Un altre consell, un LED està connectat al Digispar Attiny 85 P1, si feu servir aquest pin, considereu la seva presència. Vaig anomenar aquest díode al meu tauler, ja que segons la meva opinió només interfereix.
L’autor
Bona tarda No cal fer un desplegament amb resistència, ja que la suspensió integrada a Attiny s'inclou a l'esbós. Traieu el suspensiu i torneu-ho a provar.
També podeu provar un altre esbós dels meus altres rellotges, tenen el mateix controlador i pantalla i la configuració es fa amb un botó:
https://cam.imdmyself.com/14217-chasy-s-termometrom-na-attiny.html
Romana convidada
Bon dia. Gràcies per la idea i el treball. Només les meves mans no són així o no ho entenc. Els botons de configuració del temps no funcionen normalment. Vaig provar tant la vostra broqueta com la meva, a la meva només vaig afegir el mode pin dels botons d’entrada i vaig treure 10k a 5V. I en això i en això el botó no entenia com prémer per canviar. O tinc retards o alguna cosa està malament amb els botons, el rellotge habitual.
pantalla fresca. Però glutonós. La RAM menja molt.
Ets un mestre! esprémer en un tinku85 tal.
L’autor
Teniu raó, heu fet un text tipogràfic de 2,8 x 2,8 cm
Cita: maxim0512
Ja no encaixa només en el cas.
Per àmbits, podeu cent vegades més del que us vau proposar.
L’autor
Ja no encaixa només en el cas. Només hi ha dos botons, un resistor i un sensor de temperatura. Tot acaba d’encaixar.
... placa de circuit retallat no superior a 2,8 x 2,8 mm
No serà suficient. )))

Us aconsellem que llegiu:

Doneu-lo al telèfon intel·ligent ...