» Electrònica » Arduino »Rellotge Arduino amb sensor de temperatura i sense RTS

Rellotge Arduino amb sensor de temperatura i sense RTS

Rellotge Arduino amb sensor de temperatura i sense RTS

Bona tarda, avui compartiré instruccions sobre com fer un rellotge amb un termòmetre ambient. El rellotge continua Arduino La pantalla gràfica UNO, WG12864B s'utilitza per mostrar temps i temperatura. Com a sensor de temperatura - ds18b20. A diferència de la majoria d’altres rellotges, no utilitzaré RTS (rellotge en temps real), però intenteu prescindir d’aquest mòdul addicional.

Per això casolans Els components següents són obligatoris:
- Arduino UNO (o qualsevol altra placa compatible Arduino)
- Pantalla gràfica WG12864B
- Sensor de temperatura ds18b20
- Resistència 4,7 Kom 0,25 W
- Resistència de 100 ohms 0,25 W
- Compartiment de bateries per a 4 bateries AA “tipus dit”
- Caixa adequada
- Arxiu petit
- Esmalt d’ungles (negre o color del cos)
- Una mica de plàstic o cartró prim
- cinta elèctrica
- cables de connexió
- placa de circuit
- Botons
- soldadura
- Soldadura, colofona
- Cinta a doble cara

Pas 1 Preparació del recinte.
Per tant, els nostres rellotges haurien d’ubicar-se en algun lloc. Heu de trobar un quadre adequat. El més important és que s’hi encaixin la pantalla WG12864B, l’Arduino i una petita placa de circuit per als botons. La mida mínima de la caixa és de 7 x 7 x 10 cm. Si utilitzeu una placa Arduino petita, podeu fer-la servir en una caixa més petita, però descriuré el procés mitjançant l'exemple d'Arduino UNO. El material amb el qual està fabricada la caixa és de preferència plàstic, si, com el meu, és de ferro, val la pena tenir cura de l’aïllament perquè no hi hagi res per escurçar-lo. El plàstic és preferible perquè és més fàcil de tallar. Amb una caixa, és el cas dels nostres rellotges, decidit. Ara és necessari tallar una finestra sota la pantalla de 6,5x4 cm. Si la caixa és de ferro, és molt difícil fer-la amb cura. Per molt que ho intenteu, hi haurà pintura i rugositat a prop del tall. Per tant, primer l’hem retallat, per a això podeu utilitzar el “molinet”, un trepant amb broquet per tallar o una fresa, en general, a la vostra elecció, amb el que hi ha a l’abast. Després d’això, netegem les vores amb un fitxer. Pintem tota la pintura xipada amb esmalt d’ungles, color adequat. El resultat ha de ser el següent:


Pas 2 Prepareu la pantalla gràfica.
Amb la connexió de la pantalla, a primera vista, apareixen molts problemes i dificultats. Però si primer tracta els seus tipus, serà molt més fàcil i comprensible. Hi ha moltes variacions i tipus de pantalles al controlador ks0107 / ks0108.Totes les pantalles es divideixen generalment en 4 tipus:
Opció A: HDM64GS12L-4, Crystalfontz CFAG12864B, Sparkfun LCD-00710CM, NKC Electronics LCD-0022, WinStar WG12864B-TML-T
Opció B: HDM64GS12L-5, Lumex LCM-S12864GSF, Futurlec BLUE128X64LCD, AZ Visualitza AGM1264F, Displaytech 64128A BC, Adafruit GLCD, DataVision DG12864-88, Topway LM12864LDW, Digitron SG1286464J, Q4
Opció C: Shenzhen Jinghua Displays Co Ltd. Jm12864
Opció D: Wintek-Cascades WD-G1906G, Wintek-GEN / WD-G1906G / KS0108B, Wintek / WD-G1906G / S6B0108A, TECDIS / Y19061 / HD61202, Varitronix / MGLS19264 / HD61202

La llista no és completa, hi ha molts. El més comú i, al meu parer, el més convenient WG12864B3 V2.0. La pantalla es pot connectar a l'Arduino mitjançant un port sèrie o paral·lel. Quan s'utilitza amb Arduino UNO, és millor triar una connexió de ports en sèrie - només necessitem 3 sortides del microcontrolador, en lloc d'un mínim de 13 línies quan es connecti a través d'un port paral·lel. Tot està connectat simplement. Hi ha un matís més, a la venda podeu trobar dues versions de pantalles, amb potenciòmetre incorporat (per ajustar el contrast) i sense ell. He triat, i us aconsello que feu el mateix amb la integrada.


D’aquesta manera es redueix el nombre de peces i el temps de soldadura. També val la pena posar una resistència límit actual de 100 ohms per a la il·luminació de fons. En connectar directament 5 volts, hi ha el risc de cremar el llum de fons.
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5V
4 (RS) - 10
5 (R / W) - 11
6 (E) - 13
15 (PSB) - GND
19 (BLA) - a través de la resistència - + 5V
20 (BLK) - GND

El més convenient és recollir tot el darrere de la pantalla i treure-hi 5 cables per connectar-lo a la UNU Arduino. El resultat hauria de ser una cosa així:


Per als que encara trien una connexió paral·lela, donaré una taula de connexions.


I el disseny de les pantalles de l’opció B:


Pas 3 Connecteu el sensor de temperatura.
Com he dit, farem servir el sensor integrat DS18B20 per mesurar la temperatura. L'he escollit per la seva gran precisió de mesura, l'error no és superior a 0,5 ° C. El sensor està calibrat en el moment de la fabricació, no calen configuracions addicionals. Interval de mesura de temperatura -55 ... + 125 ° C. Hi ha dos modes de funcionament: amb una font d’alimentació externa i “potència espurna”. Quan es funciona en mode d'alimentació externa, la connexió és la següent:


Quan s'utilitza "potència espuriosa", el sensor rep energia de la línia de comunicació. En aquest mode, dos cables són suficients per connectar el ds18b20 al microcontrolador. El condensador intern del sensor es carrega a causa de l’energia a la línia de comunicació a un nivell baix del bus. El mode "nutrició paràsita" té moltes característiques i per tant no recomano utilitzar-lo. Però si encara decidiu utilitzar-lo, aquí teniu el diagrama:


O bé podeu utilitzar un diagrama de cablejat millorat quan feu servir "poder espuriós":


Es poden incloure diversos sensors en una línia de comunicació. Per als nostres rellotges n’hi ha prou. Connectem el fil des del passador “DQ” ds18b20 al “pin 5” Arduino UNO.

Pas 4 Preparació d’un tauler amb botons.
Per establir l’hora i la data del rellotge, utilitzarem tres botons. Per obtenir comoditat, soldeu els tres botons de la placa de circuit i engegueu-lo.


Ens connectem de la manera següent: el cable comú a tots els tres botons està connectat a l'Arduino "GND". El primer botó, serveix per entrar al mode de configuració de l'hora i per canviar el temps i la data, connectar-se al "Pin 2". El segon, el botó per augmentar el valor, és "Pin 3" i el tercer, el botó per disminuir el valor, és "Pin 4".

Pas 5 Unir-ho tot.
Per evitar un curtcircuit, aïllar la pantalla. En un cercle emboliquem amb cinta, i a la part posterior enganxem a una cinta de doble cara, tallada a mida, una tira de material aïllant. És adequat el cartró gruixut o el plàstic prim. Vaig utilitzar plàstic d’una tauleta de paper. Va resultar el següent:


A la part frontal de la pantalla al llarg del cantó enganxem una cinta a doble cara sobre una base d’escuma, preferiblement de color negre.


Connectem la pantalla a Arduino:


A més, ens connectem des del compartiment de la bateria a l'Arduino "VIN", menys a la "GND". El situem darrere de l’Arduino. Abans d’instal·lar-lo, no oblideu connectar el sensor de temperatura i la placa amb botons.


Pas 6 Prepareu i ompliu l’esbós.
Un sensor de temperatura necessita la biblioteca OneWire.
onewire.rar [16,75 Kb] (descàrregues: 154)


La sortida a la pantalla és a través de la biblioteca U8glib:
u8glib.rar [906,95 Kb] (descàrregues: 156)


Per editar i emplenar l'esbós, instal·leu aquestes dues biblioteques. Hi ha dues maneres de fer-ho. Només has de descomprimir aquests arxius i col·locar els fitxers descomprimits a la carpeta "biblioteques" ubicada a la carpeta amb l'IDE Arduino instal·lat.O la segona opció és instal·lar la biblioteca directament a l’entorn de programació. Sense desempaquetar els arxius descarregats, seleccioneu el menú Arxiu IDE al menú Sketch - Connecta la biblioteca. A la part superior de la llista desplegable, seleccioneu l'element "Afegeix 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ò.

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. Cada vegada, buscar aquest codi no és pràctic. Per tant, primer heu de connectar el sensor a l’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 Arduino_WG12864B_Term, busqueu la línia:

byte addr [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // adreça del meu sensor 


Anotem l’adreça del vostre sensor entre claudàtors, substituint l’adreça del meu sensor.

Estoc:

//u8g.setPrintPos (44, 64); u8g.print (sek); // Imprimeix segons per comprovar la correcció del curs


Mostra segons al costat de "Dades". Això és necessari per establir amb precisió el transcurs del temps.
Si el rellotge té pressa o retard, haureu de canviar el valor de la línia:

if (micros () - prevmicros> 494000) {// canviar a un altre per ajustar era de 500.000


Vaig determinar experimentalment el número al qual el rellotge va amb molta precisió. Si el rellotge té pressa, hauríeu d’augmentar aquest nombre, si estic enrere, disminuïu-lo. Per determinar la precisió del curs i necessitar una conclusió de segons. Després d'haver calibrat amb precisió el número, es poden comentar els segons i eliminar-los de la pantalla.

Omple l’esbós.
arduino_wg12864b_term.rar [3,64 Kb] (descàrregues: 314)

7
9
5.3

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

Us aconsellem que llegiu:

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