2 egyszerű Arduino hőmérsékletmérő áramkör feltárása

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a cikkben felépítünk néhány egyszerű Arduino hőmérsékletmérő áramkört, amelyek LED-ként is használhatók szobahőmérő áramkör .

Az áramkört úgy tervezték, hogy az olvasmányokat pontozott / oszlopos LED-ekben jelenítse meg. Ez a projekt olyan alkalmazásokhoz valósítható meg, ahol a környezeti hőmérséklet döntő szerepet játszik, vagy éppúgy építhető fel, mint egy újabb szórakoztató projekt otthona számára.



1) DTH11 használata hőmérséklet-érzékelőként

Az első hőmérsékletmérő projekt szíve és agya a DTH11 érzékelő, illetve az Arduino. Csak a hőmérsékleti adatokat fogjuk kinyerni az érzékelőből.

Az arduino néhány másodpercenként kikövetkezteti az adatokat és frissíti a megjelenített hőmérsékletet.



12 állásfoglalást fogunk meghozni hőmérséklet szenzor , más szóval, azt a hőmérsékleti tartományt vesszük figyelembe, ahol a környezeti hőmérséklet általában változik.

Ha további felbontást / LED-eket szeretne hozzáadni, akkor az arduino megára lesz szüksége az érzékelő teljes hőmérséklet-spektrumának kihasználásához módosított programmal.

DTH11, mint hőmérséklet-érzékelő

A fenti illusztrációk felhasználhatók a beállítások legjobb keresése érdekében.

A felhasználónak csak meg kell adnia a szoba minimális hőmérsékleti tartományát. Durva érték lehet, amelyet később a teljes hardverbeállítás befejeztével megváltoztathatunk.

Ha a hőmérsékleti tartomány a felhasználó által megadott küszöbérték alá esik, egyetlen LED sem világít, és ha a hőmérséklet meghaladja a maximális tartományt (minimum + 11), akkor az összes LED világít.

Ha bármilyen érzékelő csatlakozási probléma merül fel, akkor az összes LED másodpercenként villog.

A dizájn:

Az Arduino LED hőmérsékletmérő áramkör vezetékezése nagyon egyszerű, a GPIO csapokhoz csatlakoztatott LED-ek 2 és 13 között vannak áramkorlátozó ellenállásokkal, a DHT11 érzékelő pedig analóg I / O csapokhoz van csatlakoztatva, amelyek úgy vannak programozva, hogy az érzékelő áramellátását biztosítsák valamint adatokat olvasni.

LED szobahőmérő áramkör

Így a LED hőmérő áramkörének beállítása befejeződött és készen áll a kód feltöltésére. Mindig ajánlott tesztelni az áramkört a kenyérlapon, mielőtt állandóvá tenné.

Tipp: Különböző színű LED-et használjon a különböző hőmérsékleti tartományok jelzésére. Használhat kék LED-et az alacsonyabb hőmérsékleti tartományhoz, zöldet vagy sárga-t a közepes hőmérséklet-tartományhoz, és piros LED-eket a magasabb hőmérséklethez. Ez vonzóbbá teszi.

A szerző prototípusa:

működő szobahőmérő áramkör prototípusa

MEGJEGYZÉS: A következő program csak a DHT11 érzékelővel kompatibilis.

A folytatás előtt feltétlenül töltse le a könyvtárfájlt az alábbi linkről:

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

Program kód:

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

1. MEGJEGYZÉS:

A programban:

int temp = 25 // beállított hőmérséklet-tartomány.
Cserélje a „25” értéket a múltban tapasztalt minimális környezeti hőmérsékletre más hőmérőkkel, vagy jósoljon durva értéket.
2. MEGJEGYZÉS: Kérjük, ellenőrizze a soros monitor hőmérsékleti értékeit és a LED beállításokat.

2) Arduino hőmérsékletmérő a DS18B20 segítségével

Ebben a második kivitelben megtanulunk egy másik egyszerű, mégis rendkívül pontos Arduino hőmérséklet-érzékelőt indikátor áramkörrel, egy fejlett digitális LCD kijelző leolvasó modul segítségével.

digitális LCD kijelző kiolvasó modul.

Ebben a konfigurációban valójában nincs túl sok megmagyarázható tényező, mivel minden modul alapú, és egyszerűen megköveteli a felkínálást vagy a csatlakoztatott férfi női aljzatokon és csatlakozókon keresztül történő csatlakoztatást.

Hardver szükséges

Négy alapanyag szükséges ennek a pontos Arduino LCD hőmérsékletmérő áramkörnek a felépítéséhez, amely tanulmányozható az alábbiak szerint:

1) Egy Arduino UNO Igazgatóság

2) A Kompatibilis LCD modul

3) Egy analóg hőmérséklet-érzékelő chip, például egy DS18B20 vagy a sajátunk LM35 IC .

DS18B20 digitális hőmérő műszaki adatai

A DS18B20 digitális hőmérő 9 és 12 bites Celsius-hőmérsékleti előírásokat biztosít és riasztási funkcióval rendelkezik, amely nem illékony fogyasztói programozható magasabb és alacsonyabb aktiválási elemekkel rendelkezik. A DS18B20 egyetlen vezetékes buszon keresztül kommunikál, amely leírása szerint egyetlen adatvonalat (és földet) igényel a fő mikroprocesszorhoz való csatlakozáshoz.

Ez magában foglalja a -55 ° C és + 125 ° C közötti üzemi hőmérséklet-tartományt, amely a ± 10 ° C és + 85 ° C közötti választékon pontosan ± 0,5 ° C.

Ezzel párhuzamosan a DS18B20 lehetővé teszi, hogy áramot közvetlenül az adatvezetékről szerezzen („parazita erő”), eldöntve egy
rel = ' nincs követés külső áramellátás.

Mindegyik DS18B20 megkülönböztető 64 bites soros kódot tartalmaz, amely lehetővé teszi, hogy több DS18B20 ugyanazon az 1 vezetékes buszon működjön. Következésképpen felhasználóbarát és bonyolult egyetlen mikroprocesszor a széles körben elindított DS18B20-okhoz kapcsolódó terhelések kezeléséhez.

Azok a programok, amelyek könnyen kihasználhatják ezt az attribútumot, magukban foglalják a HVAC ökológiai konfigurációit, a hőmérséklet-felügyeleti eszközöket a létesítményekben, készülékeket vagy eszközöket, valamint a folyamatfelügyeleti és -szabályozó rendszereket.

Pinout részletek

DS18B20 digitális hőmérő műszaki adatai

4) 9 V-os, 1 amperes váltakozó áramú adapter egység

Most csak arról van szó, hogy egymásba tolják a csatlakozókat, végezzen egy kis beállítást az LCD nyomógombjain keresztül, és teljes értékű, pontos digitális LCD-hőmérsékletmérőt kap az Ön rendelkezésére.

Mérheti a szobahőmérsékletet ezzel a beállítással, vagy megfelelően rögzítheti az érzékelőt bármely olyan hőkibocsátó eszközzel, amelyet ellenőrizni kell, például autómotorral, tojásinkubátor-kamrával, gejzírrel, vagy egyszerűen ellenőrizni kell az erősítő készülékek hőelvezetését.

Az Arduino hőmérsékletmérő bekötése

A következő ábra azt a csatlakozást mutatja, ahol az Arduino tábla van alul, az LCD-monitor fölé van dugva, és a hőmérséklet-érzékelő az LCD-táblához van csatlakoztatva.

De a fenti beállítások végrehajtása előtt be kell programoznia az Arduino táblát a következő mintakóddal.

Udvariasság : dfrobot.com/wiki/index.php?title=LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009




Előző: Két alternatív terhelés be- és kikapcsolása az IC 555-gyel Következő: SPDT relékapcsoló áramkör a Triac segítségével