Vlažnost i temperatura uobičajeni su parametri za mjerenje uvjeta okoline. U ovom projektu koji se temelji na Arduinu izmjerit ćemo temperaturu i vlažnost zraka i prikazati ih na LCD zaslonu 16x2. Kombinirani senzor temperature i vlažnosti DHT11 koristi se s Arduino uno za razvoj ovog projekta mjerenja vlažnosti Celzijeve skale i postotka skale. U jednom od mojih prethodnih projekata razvio sam i digitalni termometar koji koristi temperaturni senzor LM35.
Ovaj se projekt sastoji od tri odjeljka - jedan osjeti vlagu i temperaturu pomoću senzora vlage i temperature DHT11. Drugi odjeljak čita izlaz DHTsensor modula i izdvaja vrijednosti temperature i vlažnosti u odgovarajući broj u postocima i Celzijevoj skali. I treći dio sustava prikazuje vlažnost i temperaturu na LCD-u.

Rad ovog projekta temelji se na jednožičnoj serijskoj komunikaciji. Prvo arduino šalje signal za pokretanje DHT modulu, a zatim DHT daje signal odziva koji sadrži podatke o temperaturi i vlažnosti. Arduino sakuplja i vadi u dva dijela, jedan je vlaga, a drugi temperatura, a zatim ih šalje na LCD 16x2.
Ovdje smo u ovom projektu koristili senzorski modul, naime DHT11. Ovaj modul sadrži kompleks vlažnosti i temperature s kalibriranim digitalnim izlaznim signalom, što znači da je DHT11 senzorski modul kombinirani modul za osjet vlage i temperature koji daje kalibrirani digitalni izlazni signal. DHT11 nam daje vrlo precizne vrijednosti vlage i temperature te osigurava visoku pouzdanost i dugotrajnu stabilnost. Ovaj senzor ima otpornu komponentu za mjerenje vlage i NTC komponentu za mjerenje temperature s ugrađenim 8-bitnim mikrokontrolerom koji ima brzi odziv i isplativo te je dostupan u 4-pinskom jednorednom paketu.

DHT11 modul radi na serijskoj komunikaciji, odnosno jednožičnoj komunikaciji. Ovaj modul šalje podatke u obliku impulsa u određenom vremenskom razdoblju. Prije slanja podataka u arduino potrebna mu je naredba za inicijalizaciju s vremenskim kašnjenjem. A cijelo vrijeme postupka je oko 4 ms. Kompletni prijenos podataka je 40-bitni, a format podataka ovog postupka dat je u nastavku:
8-bitni integralni RH podaci + 8-bitni decimalni podaci RH + 8-bitni integralni T podaci + 8-bitni decimalni T podaci + 8-bitni kontrolni zbroj.
Kompletan postupak
Prije svega, arduino šalje signal visokog do niskog starta na DHT11 s kašnjenjem od 18µs kako bi osigurao otkrivanje DHT-a. A zatim arduino povucite podatkovnu liniju i pričekajte 20-40µs za odgovor DHT-a. Jednom kada DHT otkrije signal za pokretanje, on će poslati signal odziva niskog napona na arduino s vremenskim kašnjenjem od oko 80µs. A onda DHT kontroler povuče podatkovnu liniju i čuva je 80µs za DHT-ovo organiziranje slanja podataka.
Kad je sabirnica podataka na niskom naponu, to znači da DHT11 šalje signal odziva. Jednom kad je to učinjeno, DHT ponovno izrađuje povlačenje podatkovne linije za 80µs za pripremu prijenosa podataka.
Format podataka koji DHT šalje arduinu za svaki bit započinje s razinom niskog napona od 50µs, a duljina signala s visokim naponom određuje je li bit podataka "0" ili "1".

Jedna važna stvar je osigurati vrijednost povlačenja otpora, jer ako postavljamo DHT senzor na udaljenost manju od 20 metara, preporučuje se 5 k otpornik. Ako postavljate DHT na duže od 20 metara, upotrijebite privučeni otpor odgovarajuće vrijednosti.
Kružni dijagram i objašnjenje

Zaslon s tekućim kristalima koristi se za prikaz temperature i vlage koja je izravno povezana s arduinom u 4-bitnom načinu rada. Pribadače LCD-a, naime RS, EN, D4, D5, D6 i D7, spojene su na arduino digitalni pin broj 2, 3, 4, 5, 6 i 7. A modul senzora DHT11 također je povezan s digitalnim pinom 12 arduina s Otpor za povlačenje od 5 k.
Opis programiranja
U programiranju ćemo koristiti unaprijed izgrađene knjižnice za senzor DHT11 i modul LCD zaslona.

Tada smo definirali igle za LCD i DHT senzor i inicijalizirali sve stvari u postavljanju. Zatim u petlji pomoću funkcije dht očitava senzor DHT, a zatim pomoću nekih funkcija dht izdvajamo vlažnost i temperaturu i prikazujemo ih na LCD-u.

Ovdje se simbol stupnja stvara pomoću metode prilagođenih znakova.


