Raziskana dva preprosta vezja merilnika temperature Arduino

Preizkusite Naš Instrument Za Odpravo Težav





V tem članku bomo zgradili nekaj preprostih vezij za merjenje temperature Arduino, ki jih lahko uporabimo tudi kot LED vezje sobnega termometra .

Vezje je zasnovano tako, da prikazuje odčitke v lučkah LED s pikami. Ta projekt je mogoče uporabiti za aplikacije, pri katerih ima temperatura okolja ključno vlogo, ali pa bi ga lahko zgradili kot še en zabaven projekt za vaš dom.



1) Uporaba DTH11 kot temperaturnega senzorja

Srce in možgani prvega projekta merilnika temperature sta senzor DTH11 oziroma Arduino. Iz senzorja bomo izvlekli samo podatke o temperaturi.

Arduino bo izpeljal podatke in osvežil prikazano temperaturo vsakih nekaj sekund.



Sprejeli bomo 12 resolucij temperaturni senzor , z drugimi besedami, upoštevali bomo temperaturno območje, kjer se temperatura okolice običajno spreminja.

Če želite dodati več ločljivosti / LED, boste potrebovali arduino mega, da izkoristite celoten temperaturni spekter senzorja s spremenjenim programom.

DTH11 kot temperaturni senzor

Zgornja ilustrirana postavitev je morda sprejeta za najboljše iskanje vaše nastavitve.

Uporabnik mora samo vnesti najnižje temperaturno območje prostora. To je lahko okvirna vrednost, ki jo je mogoče pozneje spremeniti, ko je celotna nastavitev strojne opreme končana.

Če temperaturno območje pade pod mejno vrednost, ki jo je vnesel uporabnik, nobena LED ne bo svetila in če temperatura preseže največje območje (najmanj + 11), bodo svetlele vse LED.

Če pride do težav s povezljivostjo senzorja, vsaka LED utripa vsako sekundo hkrati.

Dizajn:

Ožičenje vezja merilnika temperature Arduino LED je zelo preprosto, serija LED, povezanih z zatiči GPIO od 2 do 13 s trenutno omejujočimi upori, senzor DHT11 pa je priključen na analogne vhodno / izhodne zatiče, ki je programiran za napajanje senzorja kot tudi branje podatkov.

LED krožni termometer

Tako je vaša nastavitev vezja LED termometra končana in pripravljena za nalaganje kode. Vedno je priporočljivo preizkusiti vezje na plošči za kruh, preden je trajno.

Nasvet: Za prikaz različnih temperaturnih razponov uporabite različno barvno LED. Za nižje temperaturno območje lahko uporabite modre LED, za srednje temperaturno območje zelene ali rumene in za višjo temperaturo rdeče. To bo bolj privlačno.

Avtorjev prototip:

delujoči prototip LED sobnega termometra

OPOMBA: Naslednji program je združljiv samo s senzorjem DHT11.

Preden nadaljujete, prenesite datoteko knjižnice s te povezave:

https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

Koda programa:

//-------Program developed by R.Girish------//
#include
int a=2
int b=3
int c=4
int d=5
int e=6
int f=7
int g=8
int h=9
int i=10
int j=11
int k=12
int l=13
int p=A0
int data=A1
int n=A2
int ack
dht DHT
int temp=25 // set temperature range.
void setup()
{
Serial.begin(9600) // may be removed after testing.
pinMode(a,OUTPUT)
pinMode(b,OUTPUT)
pinMode(c,OUTPUT)
pinMode(d,OUTPUT)
pinMode(e,OUTPUT)
pinMode(f,OUTPUT)
pinMode(g,OUTPUT)
pinMode(h,OUTPUT)
pinMode(i,OUTPUT)
pinMode(j,OUTPUT)
pinMode(k,OUTPUT)
pinMode(l,OUTPUT)
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
digitalWrite(p,HIGH)
digitalWrite(n,LOW)
}
void loop()
{
// may be removed after testing.
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.print(' ')
//till here
ack=0
int chk = DHT.read11(data)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if (ack==0)
{
if(DHT.temperature>=temp)digitalWrite(a,HIGH)
if(DHT.temperature>=temp+1)digitalWrite(b,HIGH)
if(DHT.temperature>=temp+2)digitalWrite(c,HIGH)
if(DHT.temperature>=temp+3)digitalWrite(d,HIGH)
if(DHT.temperature>=temp+4)digitalWrite(e,HIGH)
if(DHT.temperature>=temp+5)digitalWrite(f,HIGH)
if(DHT.temperature>=temp+6)digitalWrite(g,HIGH)
if(DHT.temperature>=temp+7)digitalWrite(h,HIGH)
if(DHT.temperature>=temp+8)digitalWrite(i,HIGH)
if(DHT.temperature>=temp+9)digitalWrite(j,HIGH)
if(DHT.temperature>=temp+10)digitalWrite(k,HIGH)
if(DHT.temperature>=temp+11)digitalWrite(l,HIGH)
delay(2000)
goto refresh
}
if (ack==1)
{
// This may be removed after testing.
Serial.print('NO DATA')
Serial.print(' ')
// till here
delay(500)
digitalWrite(a,1)
digitalWrite(b,1)
digitalWrite(c,1)
digitalWrite(d,1)
digitalWrite(e,1)
digitalWrite(f,1)
digitalWrite(g,1)
digitalWrite(h,1)
digitalWrite(i,1)
digitalWrite(j,1)
digitalWrite(k,1)
digitalWrite(l,1)
refresh:
delay(500)
digitalWrite(a,0)
digitalWrite(b,0)
digitalWrite(c,0)
digitalWrite(d,0)
digitalWrite(e,0)
digitalWrite(f,0)
digitalWrite(g,0)
digitalWrite(h,0)
digitalWrite(i,0)
digitalWrite(j,0)
digitalWrite(k,0)
digitalWrite(l,0)
}
}
//-------Program developed by R.Girish------//

OPOMBA 1:

V programu:

int temp = 25 // nastavimo temperaturno območje.
Zamenjajte '25' z vašo najnižjo temperaturo okolice, ki ste jo že imeli, z drugimi termometri ali napovedujte grobo vrednost.
OPOMBA 2: Preverite odčitke temperature s serijskega monitorja in nastavitve LED.

2) Arduino merilnik temperature z uporabo DS18B20

V tej drugi zasnovi se naučimo še enega preprostega, a izjemno natančnega temperaturnega senzorja Arduino z indikatorskim vezjem z uporabo naprednega digitalnega modula za odčitavanje LCD zaslona.

digitalni modul za branje LCD zaslona.

V tej konfiguraciji pravzaprav ni nič preveč razložljivega, saj vse temelji na modulih in preprosto zahteva medsebojno povezavo ali priključitev prek ponujenih moških ženskih vtičnic in konektorjev.

Potrebna strojna oprema

Za izdelavo tega natančnega vezja merilnika temperature Arduino LCD so potrebni štirje osnovni materiali, ki jih lahko preučimo, kot je navedeno pod:

1) Odbor Arduino UNO

2) A Združljiv LCD modul

3) Analogni čip senzorja temperature, kot je DS18B20 ali naš sam LM35 IC .

Tehnični podatki digitalnega termometra DS18B20

DS18B20 digitalni termometer zagotavlja 9-bitne do 12-bitne temperature Celzija in ima alarmno funkcijo z nehlapnimi potrošniškimi programibilnimi višjimi in nižjimi aktivirnimi elementi. DS18B20 komunicira po enem žičnem vodilu, ki po opisu zahteva eno podatkovno linijo (in ozemljitev) za povezavo z glavnim mikroprocesorjem.

Vključuje delovno temperaturno območje od -55 ° C do + 125 ° C, ki je natančno do ± 0,5 ° C v razponu od -10 ° C do + 85 ° C.

Skupaj s tem je DS18B20 sposoben pridobivati ​​moč naravnost iz podatkovne linije ('moč parazitov'), s čimer se odpravi potreba po
rel = ' nofollow 'zunanje napajanje.

Vsak DS18B20 ima značilno 64-bitno zaporedno kodo, ki omogoča več DS18B20, da delujejo na istem 1 Wire kablu. Posledično je uporabniku prijazen in enostaven samo en mikroprocesor za upravljanje obremenitev, povezanih z DS18B20, ki so bili postavljeni na razširjeni lokaciji.

Programi, ki jih lahko zlahka izkoristite, vključujejo ekološke konfiguracije HVAC, naprave za nadzor temperature v obratih, aparate ali orodja ter sisteme za nadzor in regulacijo procesov.

Podrobnosti o izrezkih

Tehnični podatki digitalnega termometra DS18B20

4) 9V, 1 amp adapter za izmenični tok na enosmerni tok

Zdaj gre le za medsebojno potiskanje konektorjev, nekoliko nastavitve s pomočjo tipk LCD in na voljo vam je popoln, natančen digitalni merilnik temperature LCD.

S to nastavitvijo lahko izmerite sobno temperaturo ali senzor ustrezno pritrdite s katero koli napravo za oddajanje toplote, ki jo je treba nadzorovati, na primer z avtomobilskim motorjem, komoro za inkubator jajc, gejzirjem ali preprosto za preverjanje odvajanja toplote iz ojačevalnikov.

Kako priklopiti merilnik temperature Arduino

Naslednja slika prikazuje nastavljeno povezavo, kjer je spodaj plošča Arduino, na katero je priključen LCD zaslon, in temperaturni senzor, priključen na ploščo LCD.

Toda preden izvedete zgornjo nastavitev, boste morali Arduino ploščo programirati z naslednjo vzorčno kodo.

Vljudnost : dfrobot.com/wiki/index.php?title=LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009




Prejšnji: Vklop / izklop dveh nadomestnih obremenitev z IC 555 Naprej: SPDT relejsko stikalno vezje z uporabo Triac