Uuritud 2 lihtsat Arduino temperatuurimõõtja ahelat

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles artiklis ehitame paar lihtsat Arduino temperatuurimõõtja ahelat, mida saab kasutada ka LED-iga toatermomeetri vooluring .

Vooluahel on ette nähtud näidude kuvamiseks täppidega / ribade valgusdioodides. Seda projekti saab rakendada rakendustes, kus ümbritseval temperatuuril on ülioluline roll, või selle võiks ehitada justkui veel ühe lõbusa projekti teie koju.



1) DTH11 kasutamine temperatuuriandurina

Esimese temperatuurimõõturi projekti süda ja aju on vastavalt DTH11 andur ja Arduino. Andurist eraldame ainult temperatuuri andmed.

Arduino järeldab andmed ja värskendab kuvatavat temperatuuri iga paari sekundi järel.



Võtame vastu 12 resolutsiooni temperatuuriandur ehk teisisõnu võtame temperatuurivahemiku, kus ümbritsev temperatuur tavaliselt varieerub.

Kui soovite lisada rohkem eraldusvõime / LED-e, vajate arduino mega, et kasutada muudetud programmiga anduri kogu temperatuurispektrit.

DTH11 kui temperatuuriandur

Ülaltoodud illustreeritud paigutus võib olla teie seadistuse parimaks otsimiseks kasutatav.

Kasutaja peab lihtsalt sisestama ruumi minimaalse temperatuurivahemiku. See võib olla ligikaudne väärtus, mida saab hiljem muuta, kui riistvara täielik seadistamine on lõpule viidud.

Kui temperatuurivahemik langeb alla kasutaja sisestatud künnisväärtuse, ei sütti ükski LED ja kui temperatuur ületab maksimaalset vahemikku (minimaalne + 11), siis kõik LED-d põlevad.

Kui anduri ühenduvusprobleeme on, vilgub kogu LED korraga sekundis.

Kujundus:

Arduino LED-i temperatuurimõõtja vooluahelate juhtmestik on väga lihtne, seeria LED-d, mis on ühendatud GPIO-tihvtidega vahemikus 2 kuni 13 koos voolu piiravate takistitega, ja DHT11-andur on ühendatud analoogsete I / O-tihvtidega, mis on programmeeritud andma andurile toiteallikat samuti lugeda andmeid.

LED-toatermomeetri vooluring

Seega on teie LED-termomeetri ahela seadistamine täielik ja valmis koodi üles laadima. Enne püsivaks muutmist on alati soovitatav vooluringi proovida leivaplaadil.

Nõuanne: erinevate temperatuurivahemike näitamiseks kasutage erinevat värvi LED-i. Madalama temperatuurivahemiku jaoks võite kasutada siniseid, keskmise temperatuuri vahemiku jaoks rohelisi või kollaseid ja kõrgema temperatuuri jaoks punaseid LED-e. See muudab atraktiivsemaks.

Autori prototüüp:

töötav LED-toatermomeetri vooluahela prototüüp

MÄRKUS. Järgmine programm ühildub ainult anduriga DHT11.

Enne jätkamist laadige raamatukogu fail alla järgmiselt lingilt:

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

Programmi kood:

//-------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------//

MÄRKUS 1:

Programmis:

int temp = 25 // seatud temperatuurivahemik.
Asendage '25' oma minimaalse ümbritseva õhu temperatuuriga, mida olete varem kohanud, teiste termomeetritega või ennustage ligikaudne väärtus.
MÄRKUS 2: Palun kontrollige jadamonitori temperatuuri näidud ja LED-seadistust.

2) Arduino temperatuurimõõtur DS18B20 abil

Selles teises kujunduses õpime veel ühte lihtsat, kuid äärmiselt täpset indikaatorahelaga Arduino temperatuuriandurit, kasutades täiustatud digitaalse LCD-ekraani lugemismoodulit.

digitaalse LCD-ekraani lugemismoodul

Selles konfiguratsioonis pole tegelikult midagi liiga palju seletatavat, kuna kõik on moodulipõhine ja nõuab lihtsalt pakutavate meessoost naissoost pistikupesade ja pistikute kaudu üksteise külge ühendamist või ühendamist.

Vaja on riistvara

Selle täpse Arduino LCD-temperatuurimõõtja vooluringi ehitamiseks on vaja nelja põhimaterjali, mida võib uurida vastavalt allpool toodud kirjeldusele:

1) Arduino UNO juhatus

2) A Ühilduv LCD moodul

3) Analoogne temperatuurianduri kiip, näiteks DS18B20 või meie enda oma LM35 IC .

Digitaalse termomeetri DS18B20 spetsifikatsioonid

DS18B20 digitaalne termomeeter tagab 9- kuni 12-bitise Celsiuse temperatuuri spetsifikatsioonid ja kannab häirefunktsiooni koos lendumatute tarbija programmeeritavate kõrgemate ja madalamate aktiveerimiselementidega. DS18B20 suhtleb ühe traadibussi kaudu, mis kirjelduse järgi nõuab peamise mikroprotsessoriga ühendamiseks ühte andmeliini (ja maandust).

See sisaldab töötemperatuuri vahemikku -55 ° C kuni + 125 ° C, mis on vahemikus -10 ° C kuni + 85 ° C täpsusega ± 0,5 ° C.

Koos sellega on DS18B20-l võimalik omandada elektrit otse andmesidelt (parasiitide võimsus), kõrvaldades vajaduse
rel = ' ei jälgi väljaspool toiteallikat.

Igal DS18B20-l on eristav 64-bitine jadakood, mis võimaldab mitmel DS18B20-l töötada samal 1-juhtmelisel siinil. Järelikult on laialt levinud DS18B20-dega seotud koormuste haldamine kasutajasõbralik ja lihtne - ainult üks mikroprotsessor.

Programmid, mida saab selle atribuudi hõlpsasti ära kasutada, hõlmavad HVAC ökoloogilisi konfiguratsioone, ettevõttes asuvaid temperatuuriseireseadmeid, aparaate või tööriistu ning protsesside järelevalve- ja reguleerimissüsteeme.

Pinouti üksikasjad

Digitaalse termomeetri DS18B20 spetsifikatsioonid

4) 9 V, 1 amprine vahelduvvoolu alalisvooluadapter

Nüüd on vaja lihtsalt pistikuid üksteisega sisse lükata, seadistada natuke vedelkristallekraanil olevate nuppude abil ja saada teie kasutusse täieõiguslik, täpne digitaalne LCD-temperatuurimõõtur.

Selle seadistuse abil saate mõõta toatemperatuuri või kinnitada anduri nõuetekohaselt mis tahes jälgitava soojust eraldava seadmega, näiteks automootoriga, munainkubaatori kambriga, geisriga või lihtsalt kontrollida võimendiga seadmete soojuse hajumist.

Kuidas ühendada Arduino temperatuurimõõtur

Järgmisel joonisel on kujutatud ühenduse loomist, kus Arduino plaat on põhjas, LCD-ekraan on selle kohale ühendatud ja temperatuuriandur vedelkristallplaadi külge kinnitatud.

Kuid enne ülaltoodud seadistamist peate Arduino parda programmeerima järgmise näidiskoodiga.

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




Eelmine: IC 555 abil kahe alternatiivse koormuse sisse- ja väljalülitamine Järgmine: SPDT releelüliti, kasutades Triaci