A páratartalom és a hőmérséklet közös paraméter a környezeti feltételek mérésére. Ebben az Arduino-alapú projektben megmérjük a környezeti hőmérsékletet és páratartalmat, és 16x2 LCD-képernyőn jelenítjük meg. Kombinált DHT11 hőmérséklet- és fényérzékelőt használunk az Arduino uno-val ennek a Celsius-fokú hőmérőnek és a százalékos nedvességtartalom-mérési projektnek a kidolgozására. Az egyik korábbi projektemben az LM35 hőmérséklet-érzékelő segítségével digitális hőmérőt is kifejlesztettem.
Ez a projekt három szakaszból áll - az egyik érzékeli a páratartalmat és a hőmérsékletet a DHT11 páratartalom és hőmérséklet érzékelő segítségével. A második szakasz felolvassa a DHTsensor modul kimenetét, és a hőmérséklet és a páratartalom értékeit megfelelő számokra vonja ki százalékos és Celsius-skálán. A rendszer harmadik része pedig páratartalmat és hőmérsékletet jelenít meg az LCD-n.
A projekt működése egyvezetékes soros kommunikáción alapul. Először az arduino kezdőjelet küld a DHT modulnak, majd a DHT válaszjelet ad, amely hőmérsékleti és páratartalmi adatokat tartalmaz. Az Arduino két részletben gyűjti össze és vonja ki az egyiket a páratartalom, a második pedig a hőmérséklet, majd elküldi őket a 16x2 LCD-re.
Ebben a projektben egy érzékelő modult használtunk, mégpedig a DHT11-et. Ez a modul páratartalom és hőmérséklet komplexet tartalmaz kalibrált digitális jelkimenettel. A DHT11 érzékelő modul kombinált modul a páratartalom és a hőmérséklet érzékelésére, amely kalibrált digitális kimeneti jelet ad. A DHT11 a páratartalom és a hőmérséklet nagyon pontos értékét adja, és nagy megbízhatóságot és hosszú távú stabilitást biztosít. Ez az érzékelő egy rezisztív nedvességmérő komponenssel és egy NTC típusú hőmérsékletmérő komponenssel rendelkezik, beépített 8 bites mikrovezérlővel, amely gyorsan reagál és költséghatékony, és 4 tűs egysoros csomagban kapható.
A DHT11 modul soros kommunikáción, azaz egyvezetékes kommunikáción működik. Ez a modul impulzus-vonat formájában küld egy adott időtartamot. Mielőtt adatokat küldene az arduino-nak, időre van szüksége néhány inicializáló parancsra. És az egész folyamat ideje kb. 4ms. A teljes adatátvitel 40 bites, és ennek a folyamatnak az adatformátuma az alábbiakban található:
8 bites integrált RH adatok + 8 bites decimális RH adatok + 8 bites integrált T adatok + 8 bites decimális T adatok + 8 bites ellenőrző összeg.
Teljes folyamat
Először is az arduino magas vagy alacsony indítási jelet küld a DHT11-nek 18µs késéssel, hogy biztosítsa a DHT detektálását. Ezután az arduino húzza fel az adatsort, és várjon 20-40µs-t a DHT válaszára. Amint a DHT észleli az indító jelet, alacsony feszültségszintű válaszjelet küld az arduino felé, körülbelül 80µs késleltetéssel. Ezután a DHT vezérlő felhúzza az adatsort, és 80 µs-ig megtartja az adatok küldésének DHT-hez való rendezéséhez.
Amikor az adatbusz alacsony feszültségszinten van, ez azt jelenti, hogy a DHT11 válaszjelet küld. Ha ez megtörtént, a DHT ismét 80 µs-ig kihúzza az adatsort az adatátvitel előkészítéséhez.
Az adatformátum, amelyet a DHT minden bitre elküld az arduino számára, 50 µs alacsony feszültségszinttel kezdődik, és a nagyfeszültségű jel hossza határozza meg, hogy az adatbit „0” vagy „1” legyen.
Az egyik fontos dolog az ellenállás felhúzásának biztosítása, mert ha a DHT érzékelőt <20 méter távolságra helyezzük, akkor ajánlott 5k felhúzási ellenállás. Ha a DHT-t hosszabbra teszi a 20 méternél, akkor használja a megfelelő értékű felhúzási ellenállást.
Áramkör diagram és magyarázat
A hőmérséklet és a páratartalom kijelzésére folyadékkristályos kijelzőt használnak, amely 4-bites módban közvetlenül kapcsolódik az arduino-hoz. Az LCD, nevezetesen az RS, az EN, a D4, a D5, a D6 és a D7 csapjai az arduino 2, 3, 4, 5, 6 és 7 számú digitális csatlakozóihoz vannak csatlakoztatva. És egy DHT11 érzékelő modul is csatlakozik az arduino 12 digitális érintkezőjéhez egy 5k felhúzható ellenállás.
Programozás leírása
A programozás során előre elkészített könyvtárakat fogunk használni a DHT11 érzékelőhöz és az LCD kijelző modulhoz.
Ezután meghatároztuk az LCD és a DHT szenzor csapjait, és inicializáltunk minden dolgot a beállítás során. Ezután egy ciklusban a dht funkció használatával beolvassa a DHT érzékelőt, majd néhány dht funkció használatával kiszívjuk a páratartalmat és a hőmérsékletet, és megjelenítjük azokat az LCD-n.
Itt a fokozati szimbólum egyedi karakteres módszerrel jön létre.