Hola a tots i que passeu un bon dia o nit. Aquesta vegada compartiré les instruccions per fer un rellotge d’habitació amb un termòmetre. El centre informàtic del rellotge serà Attiny85, muntat en un tauler de Digispark. Per visualitzar el rellotge: pantalla Oled. Termòmetre: el conegut ds18b20. Per energia, agafem el Li-ion 18650 (es poden obtenir a partir d’una bateria antiga d’un ordinador portàtil). I afegeix una pantalla del nivell de bateria. Com en tots els meus rellotges anteriors, prescindirem del mòdul RTC (rellotge en temps real).
Recopilem tot el necessari:
- Digispark Attiny85 (versió micro USB)
- ds18b20 (en una caixa de plàstic)
- Pantalla Oled amb una resolució de 128x64, I2C
- 2pcs 18650 bateries o una antiga bateria de Li-ion portàtil
- Resistors (3,3 kΩ, 4,7 kΩ, 10 kΩ)
- Plàstic prim (per a carcassa)
- Connexió de cables de diferents colors
- Programador ISP (o qualsevol altre) Arduino quota)
- Botó
- Connectors Dupont 2,54 mm "mare", "pare"
- Ganivet de papereria, cinta a doble cara, cinta elèctrica, hotmelt
- Tot per soldar (soldadura, colofona, soldadura)
Cas 1 Pas
El futur estoig de rellotges serà de plàstic prim. Podeu comprar una fulla de plàstic en una botiga especialitzada o fer una comanda a aliexpress. O podeu (no espereu i no mireu) anar a l’oficina clerical i comprar una carpeta de paper de plàstic del vostre color preferit. Dimensions del rellotge futur: amplada - 40 mm, gruix - 30 mm, alçada - 70 mm. Segons el diagrama següent, retallem una exploració de plàstic:
Tallem les línies gruixudes, doblegem suaument les línies primes. Retallem el rectangle que hi ha al mig amb un ganivet clerical, aquesta és una finestra per mostrar. Com a resultat, obtenim una exploració de plàstic:
Passem a Attiny.
Pas 2 Attiny + Oled.
Com deia, al nostre cor casolans serà Attiny 85. El millor és comprar aquest xip, immediatament soldat a la pissarra juntament amb un regulador de tensió i arnès. Digispark Attiny85 s’adapta bé. Trieu la versió amb micro USB al tauler. Altres modificacions del tauler no s’ajustaran a la mida. Passa que aquesta placa es ven amb connectors “masculins” Dupon ja soldats. Si és així, solda tots els connectors. Recopilem cables de colors. Necessitem 10 centímetres de diferents colors. Els vam soldar a Attiny i anotem quin fil correspon a la conclusió. Els fils P0 i P2 s’han de soldar en dos fils. Es necessita la segona parella per connectar la pantalla Oled. Obtenim el següent:
Vaig escriure el següent diagrama al fil:
La pantalla és petita (per adaptar-se al controlador), però sembla bonica. OLED (diode orgànic de llum) és una pantalla gràfica. No hi ha llum de fons i, en canvi, cada píxel és un LED independent. Mides de pantalla: 0,96 polzades.Resolució 128x64. Connectat mitjançant bus I2C. Utilitza només dos cables per connectar-se amb Attiny. Vénen de diferents colors, trien al teu gust. Em va agradar el blau amb una franja groga a la part superior. Actuem de manera similar a Digispark. Si hi ha connectors soldats: soldar-los. De moment, només soldem els cables d'alimentació:
Compte amb soldadura, no danyeu el cable amb una soldadura a la pantalla:
Connectem les juntes mitjançant cinta de doble cara:
Vam combinar la pantalla Digispark Attiny i Oled segons l'esquema (els colors dels fils poden variar, el més important és no embolicar-se amb les conclusions):
Per comoditat i ordre, recollim tots els cables junts. Podeu torçar-los amb cinta elèctrica per no confondre’s:
Al final de tots els cables, connectem el connector Dupont “mare”, l’inserim als aïllants i ho fem tot junt amb cinta elèctrica per fer el connector. També enregistrem la pinya del connector:
El pinout hauria de ser així, ja que en el futur connectarem un cable per a firmware o altres elements de rellotge al connector.
Incolorem l'estructura resultant al estoig i no oblidem enganxar la caixa mateixa, deixant que no s'enganxi un gemec per a altres manipulacions:
Quan s'enganxi, atenció a que la pantalla sigui uniforme:
Pas 3 Potència.
Per a la potència utilitzarem dos elements Li-ion. Escriviu 18650. Podeu adquirir-les per separat. En aquest cas, solda’ls en paral·lel, aïlla i emet el connector per a la connexió i posterior càrrega:
Molts tenen ordinadors portàtils més antics. Tant si ja no treballen o treballen a través del temps. Tot i que la bateria del portàtil ja està malament i no és adequada per al seu ús previst, es pot utilitzar per a tot tipus de productes casolans. En el nostre cas, per a un rellotge. Prenem la bateria del portàtil:
El més important és que sigui Li-ion. El desmuntem amb cura, cal obrir la caixa de plàstic per no danyar l’element que hi ha al seu interior. Molt sovint, la bateria es divideix en dos elements connectats en paral·lel. Les traiem i separem una parella de la resta:
El millor és soldar-se a les pastilles de contacte:
Colla aquest parell a la part posterior del rellotge:
Pas 4 Determinació de la càrrega de la bateria.
Una funció convenient del rellotge és indicar la càrrega de la bateria. Determinarem el grau de càrrega per tensió. La tensió mínima d’aquestes bateries és de 2,4 V. No es pot descarregar més. La tensió màxima és de 4,2 V.
La mesura de la tensió al port analògic sempre és relativa a alguna altra tensió. No podem fer servir el pin AREF del microcontrolador, que serveix per configurar la tensió de referència. També és impossible mesurar la tensió respecte a la tensió d’alimentació (la relació sempre serà la mateixa). Per tant, determinarem la tensió en relació amb la tensió de referència interna o Vbg (tensió de referència de Bandgap). És de 1,1 V. Ara cal calcular el divisor de tensió de la nostra bateria, de manera que a la càrrega màxima (4,2 V) el divisor tenia (1,1 V). Podeu calcular mitjançant la fórmula:
O utilitzeu
R1 pren un valor nominal de 10 kOhm. A continuació, R2 obtenim 3,55 KOhm, el més proper adequat dels valors estàndard de 3,3 KOhm, i el prenem. Es fan mesures entre la tensió interna i el GND, de manera que la resistència de 3,3 KΩ es solda al menys, i 10 KΩ al plus. Col·locem les resistències a la bateria, retirem el filferro del divisor.
Aïllem tots els contactes per evitar un curtcircuit:
El cable del divisor es connectarà a PB4.
Pas 5 Mesureu la temperatura.
Un excel·lent complement del rellotge és la mesura de la temperatura ambient. Utilitzarem el sensor de temperatura integrat DS18B20. Per treballar-hi, només cal un filferro (molt útil quan s’utilitza Attiny 85). Totes les mesures es fan ell mateix, el controlador central no molesta (l’Attiny 85 també té una excel·lent memòria i tan poca cosa), només hem de donar comandaments i obtenir resultats. Hi ha diversos esquemes diferents per connectar aquest sensor, utilitzarem l’opció que és òptima per a aquest cas, al meu parer.Utilitzant potència externa i una resistència de 4,7 kΩ:
Solda cables petits i fixa els connectors
El cable del sensor DQ està connectat a la PB 3.
Botó del pas 6
Tenim poques conclusions, però hi ha molts requisits per als rellotges. Utilitzarem un botó per configurar l’hora. No podem comptar amb més. Soldem els cables al botó, un contacte des del GND. Combina amb el nostre sensor de temperatura:
El segon contacte del botó està connectat a PB 1.
Pas 7 Preparació de l’entorn de desenvolupament
Per a més treball amb el croquis, a més de la seva edició i emplenament, necessitem l'ID Arduino. Descarregueu aquest programa des de:
Afegeix ara suport per a Attiny 85 el dimecres. Obriu l'IDE Arduion i aneu pel camí:
Fitxer: Configuració - "URL addicionals del gestor de juntes addicionals" inseriu l'enllaç:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Feu clic a D'acord.
Vés a:
Eines: Board - Board Manager, introduïu Attiny i feu clic a "attiny de David A. Mellis". Feu clic a "Instal·lar" i deixeu posar el cafè.
I ara sobre les biblioteques. Necessiten dos:
Per treballar amb la pantalla d’Oled
Control del sensor de temperatura
Després de descarregar aquests arxius, desempareu-los a la carpeta "biblioteques", que és fàcil de trobar anant pel camí d'instal·lació de l'ID Arduino.
Programador Pas 8.
Digispark Attiny 85 és un gran consell. Dissenyat per connectar-se a un ordinador USB. I es pot programar a través d'ella. Però Attiny utilitza un programari USB, que al seu torn agafa 2 KB de 8 KB de memòria. Això no ens convé i, per tant, farem parpellejar Attiny 85 a través de la interfície ISP. I aquí necessitem un programador ISP. Si no hi és, no importa. Agafeu l'Arduino. En el meu cas, Arduino UNO:
Podeu prendre qualsevol altre tauler compatible des de la línia Arduino. Ens connectem a l’ordinador, obrim l’ID Arduino, seleccionem el port comú al qual està connectada la placa Arduino, obrim l’esbós en els exemples, Arduino ISP i omplim-lo a la pissarra. També necessitem un cable per connectar-nos ràpidament a Attiny.
La connexió és la següent:
D11 - P0
D12 - P1
D13 - P2
D10 - P5
No us oblideu de la nutrició Attiny.
Pas 9 Edita i emplena l’esbós.
Descarregar esbós
Abans d’omplir, heu d’editar l’esbós.
El sensor integrat ds18b20, com s'ha esmentat anteriorment, funciona mitjançant el protocol One Wire. Cada sensor té la seva pròpia adreça de 64 bits. Heu de trobar l’adreça del vostre sensor i escriure-la en un croquis. Obriu l'IDE Arduino, seguiu el camí:
Fitxer: Exemples - Dallas Temperatura - OneWireSearch.
Omple l’esbós a Arduino. Obriu el monitor del port. Heu de veure les adreces de tots els sensors connectats i les seves lectures de temperatura. Anotem la vostra adreça. Obriu el meu croquis i canvieu la vostra adreça a la línia:
byte addr [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63};
Per ajustar el progrés del rellotge, utilitzeu la constant següent:
if (micros () - prevmicros & gt; [b] 497000 [/ b])
Com més gran sigui aquest valor, més lent serà el rellotge.
Per controlar, es mostren segons a la pantalla els segons:
OzOled.printNumber ((llarg) sek, 0, 7); // segons de sortida per ajustar amb precisió
Comenteu aquesta línia per eliminar segons.
Ara connectem el programador o Arduino com a programador, seleccionem el port, seleccionem el nostre tauler al menú Eines i establim els següents paràmetres:
Junta: Attiny 25/45/85
Processador: Atiny 85
Rellotge: intern 16
A continuació, seleccioneu al mateix menú:
Eines - Programador - "Arduino as ISP".
I finalment:
Esbós: descarrega mitjançant el programador
Pas 10: muntatge i llançament final.
Apagueu el programador i connecteu el sensor, l’alimentació i el botó:
Fins que no es configuri el curs exacte del rellotge, podeu tancar la caixa amb cautxú bancari. En acabar, podeu colar-lo.