Istražena 2 jednostavna kruga mjerača temperature Arduino

Isprobajte Naš Instrument Za Uklanjanje Problema





U ovom ćemo članku izgraditi nekoliko jednostavnih krugova Arduino mjerača temperature koji se također mogu koristiti kao LED krug sobnog termometra .

Krug je dizajniran za prikaz očitanja u točkicama / bar LED-ima. Ovaj se projekt može primijeniti za aplikacije u kojima temperatura okoline igra presudnu ulogu ili se može izgraditi kao još jedan zabavan projekt za vaš dom.



1) Upotreba DTH11 kao temperaturnog osjetnika

Srce i mozak prvog projekta mjerača temperature su senzor DTH11, odnosno Arduino. Izvući ćemo samo podatke o temperaturi iz senzora.

Arduino će izvući podatke i osvježiti prikazanu temperaturu svakih nekoliko sekundi.



Donijet ćemo 12 rezolucija od senzor temperature , drugim riječima, uzet ćemo temperaturno područje u kojem temperatura okoline obično varira.

Ako želite dodati više razlučivosti / LED dioda, trebat će vam arduino mega da biste iskoristili cijeli temperaturni spektar senzora s modificiranim programom.

DTH11 kao temperaturni osjetnik

Gore ilustrirani izgled može se usvojiti za najbolje traženje vaše postavke.

Korisnik samo treba unijeti minimalni temperaturni raspon prostorije. To može biti gruba vrijednost, koja se kasnije može promijeniti nakon završetka potpunog postavljanja hardvera.

Ako temperaturni raspon padne ispod vrijednosti praga koje je korisnik unio, nijedna LED lampica neće svijetliti, a ako temperatura prijeđe maksimalni raspon (minimalno + 11), svi LED će svijetliti.

Ako postoje problemi s povezivanjem senzora, svi LED će istovremeno treptati svake sekunde.

Dizajn:

Ožičenje strujnog kruga mjerača temperature Arduino LED vrlo je jednostavno, niz LED-a spojenih na GPIO pinove u rasponu od 2 do 13 s otpornicima za ograničavanje struje, a DHT11 senzor priključen je na analogne I / O pinove, koji je programiran za napajanje senzora kao i pročitani podaci.

Krug LED sobnog termometra

Stoga je vaše postavljanje kruga LED termometra završeno i spremno za prijenos koda. Uvijek se preporučuje testiranje kruga na ploči za kruh prije nego što postane trajni.

Savjet: Upotrijebite LED u boji za prikaz različitih raspona temperature. Možete koristiti plave LED za niži temperaturni raspon, zelene ili žute za srednji temperaturni raspon i crvene LED za višu temperaturu. Ovo će učiniti privlačnijim.

Autorski prototip:

radni prototip sklopa LED sobnog termometra

NAPOMENA: Sljedeći program kompatibilan je samo s DHT11 senzorom.

Prije nastavka, obavezno preuzmite datoteku knjižnice sa sljedeće veze:

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

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

NAPOMENA 1:

U programu:

int temp = 25 // zadati raspon temperature.
Zamijenite '25' vašom minimalnom temperaturom okoline s kojom ste se susretali u prošlosti drugim termometrima ili predvidite grubu vrijednost.
NAPOMENA 2: Molimo provjerite očitanja temperature sa serijskog monitora i LED postavke.

2) Arduino mjerač temperature pomoću DS18B20

U ovom drugom dizajnu saznajemo još jedan jednostavan, ali izuzetno precizan Arduino temperaturni senzor s krugom indikatora, koristeći napredni digitalni modul za očitavanje LCD zaslona.

modul za očitavanje digitalnog LCD zaslona.

U ovoj konfiguraciji zapravo nema ništa previše objašnjivo, jer je sve zasnovano na modulima i jednostavno zahtijeva spajanje ili međusobno spajanje putem ponuđenih muških ženskih utičnica i konektora.

Potreban hardver

Četiri osnovna materijala potrebna su za izradu ovog preciznog kruga mjerača temperature Arduino LCD-a, koji se može proučavati kako je navedeno u:

1) Arduino UNO odbor

2) A Kompatibilni LCD modul

3) Analogni čip osjetnika temperature, kao što je DS18B20 ili naš vlastiti LM35 IC .

Specifikacije digitalnog termometra DS18B20

DS18B20 digitalni termometar osigurava 9-bitne do 12-bitne Celzijeve specifikacije temperature i ima značajku alarma s nehlapljivim potrošačkim programabilnim višim i nižim elementima za aktiviranje. DS18B20 komunicira preko jedne žičane sabirnice koja opisom zahtijeva jednu podatkovnu liniju (i masu) za vezu s glavnim mikroprocesorom.

Uključuje područje radne temperature od -55 ° C do + 125 ° C, što je precizno do ± 0,5 ° C u rasponu od -10 ° C do + 85 ° C.

Uz to, DS18B20 omogućuje stjecanje snage izravno s podatkovne linije („snaga parazita“), rješavajući potrebu za
rel = ' nofollow 'vanjsko napajanje.

Svaki DS18B20 nosi prepoznatljiv 64-bitni serijski kod, što omogućava više DS18B20s da rade na istoj 1 Wire žici. Stoga je jednostavan za upotrebu i jednostavan mikroprocesor za upravljanje opterećenjima povezanim s DS18B20s lansiranim na široko rasprostranjenom mjestu.

Programi koji se lako mogu iskoristiti iz ovog atributa uključuju ekološke konfiguracije HVAC-a, uređaje za nadzor temperature unutar postrojenja, uređaja ili alata te sustave za nadzor i regulaciju procesa.

Pojedinosti o pinoutima

Specifikacije digitalnog termometra DS18B20

4) Adapterska jedinica izmjeničnog i istosmjernog napona od 9 V i 1 amp

Sada se radi samo o međusobnom utiskivanju konektora, malo podešavanja putem LCD tipki i na raspolaganju ćete dobiti punopravni, precizni digitalni LCD mjerač temperature.

Pomoću ove postavke možete izmjeriti sobnu temperaturu ili na odgovarajući način stegnuti senzor bilo kojim uređajem koji emitira toplinu, a koji treba nadzirati, poput automobilskog motora, komore inkubatora jaja, gejzira ili jednostavno provjeriti odvođenje topline s uređaja za pojačanje snage.

Kako spojiti Arduino mjerač temperature

Sljedeća slika prikazuje postavljenu vezu, gdje je Arduino ploča na dnu, a LCD monitor je priključen preko nje, a temperaturni senzor spojen na LCD ploču.

No, prije nego što implementirate gornju postavku, morat ćete programirati Arduino ploču sa sljedećim uzorkom koda.

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




Prethodno: Uključivanje / isključivanje dvaju zamjenskih opterećenja pomoću IC 555 Dalje: SPDT krug prekidača releja pomoću Triaca