Kako Spojiti DHT11 Senzor Temperature I Vlažnosti Na Arduino

Sadržaj:

Kako Spojiti DHT11 Senzor Temperature I Vlažnosti Na Arduino
Kako Spojiti DHT11 Senzor Temperature I Vlažnosti Na Arduino

Video: Kako Spojiti DHT11 Senzor Temperature I Vlažnosti Na Arduino

Video: Kako Spojiti DHT11 Senzor Temperature I Vlažnosti Na Arduino
Video: Arduino Uno и Датчик температуры и влажности DHT11 (DHT22) 2024, Novembar
Anonim

DHT17 senzor temperature i vlažnosti popularan je i jeftin senzor koji se može koristiti u prilično širokom rasponu temperatura i relativne vlažnosti. Pogledajmo kako ga povezati s Arduinom i kako čitati podatke s njega.

DHT11 senzor temperature i vlažnosti
DHT11 senzor temperature i vlažnosti

Potrebno

  • - Arduino;
  • - DHT17 senzor temperature i vlažnosti.

Instrukcije

Korak 1

Dakle, DHT11 senzor ima sljedeće karakteristike:

- opseg izmjerene relativne vlažnosti - 20..90% s greškom do 5%, - raspon izmjerenih temperatura - 0..50 stepeni Celzijusa sa greškom do 2 stepena;

- vrijeme odziva na promjene vlažnosti - do 15 sekundi, temperature - do 30 sekundi;

- minimalni period glasanja je 1 sekunda.

Kao što vidite, DHT11 senzor nije baš precizan, a temperaturni opseg ne pokriva negativne vrijednosti, što je teško pogodno za vanjska mjerenja u hladnoj sezoni u našoj klimi. Međutim, njegova niska cijena, mala veličina i jednostavnost upotrebe djelomično nadoknađuju ove nedostatke.

Slika prikazuje izgled senzora i njegove dimenzije u milimetrima.

Izgled i dimenzije DHT11 senzora
Izgled i dimenzije DHT11 senzora

Korak 2

Razmotrite dijagram povezivanja senzora temperature i vlažnosti DHT11 s mikrokontrolerom, posebno s Arduinom. Na slici:

- MCU - mikrokontroler (na primjer, Arduino ili slično) ili računar s jednom pločom (Raspberry Pi ili slično);

- DHT11 - senzor temperature i vlažnosti;

- DATA - sabirnica podataka; ako dužina priključnog kabla od senzora do mikrokontrolera ne prelazi 20 metara, tada se preporučuje da ovu sabirnicu povučete na napajanje otpornikom od 5, 1 kOhm; ako je više od 20 metara, onda druga prikladna vrijednost (manja).

- VDD - napajanje senzora; dozvoljeni napon od ~ 3,0 do ~ 5,5 volti jednosmerne struje; ako se koristi napajanje ~ 3,3 V, poželjno je koristiti žicu za napajanje ne dužu od 20 cm.

Jedan od vodiča senzora - treći - nije povezan ni sa čim.

DHT11 senzor se često prodaje kao kompletan sklop s potrebnim cjevovodima - povlačenjem otpora i kondenzatorom filtra.

Dijagram povezivanja DHT11 senzora s mikrokontrolerom
Dijagram povezivanja DHT11 senzora s mikrokontrolerom

Korak 3

Sastavimo razmatranu šemu. Također ću spojiti logički analizator na sklop kako bih mogao proučavati vremenski dijagram komunikacije sa senzorom.

DHT11 senzor i Arduino
DHT11 senzor i Arduino

Korak 4

Idemo na jednostavan način: preuzmite biblioteku za senzor DHT11 (veza u odjeljku "Izvori"), instalirajte je na standardni način (raspakirajte je u direktorij / libraries / razvojnog okruženja Arduino).

Napišimo tako jednostavnu skicu. Učitajmo ga u Arduino. Ova skica će prikazati RH i temperaturne poruke pročitane s DHT11 senzora na serijski priključak računala svake 2 sekunde.

Skica za rad sa senzorom temperature i vlažnosti DHT11
Skica za rad sa senzorom temperature i vlažnosti DHT11

Korak 5

Sada, koristeći vremenski dijagram dobijen iz logičkog analizatora, shvatimo kako se vrši razmjena informacija.

DHT11 senzor temperature i vlažnosti koristi jednožično serijsko sučelje za komunikaciju s mikrokontrolerom. Jedna razmjena podataka traje oko 40 ms i sadrži: 1 bit bita od mikrokontrolera, 1 bit odziva senzora i 40 bitova podataka od senzora. Podaci uključuju: 16 bita podataka o vlažnosti, 26 bita podataka o temperaturi i 8 bitova za provjeru.

Pogledajmo bliže vremenski dijagram Arduino komunikacije s DHT11 senzorom.

Sa slike se vidi da postoje dvije vrste impulsa: kratki i dugi. Kratki impulsi u ovom protokolu razmjene označavaju nule, a dugi impulsi - jedinice.

Dakle, prva dva impulsa su Arduinov zahtjev za DHT11 i, shodno tome, odgovor senzora. Slijedi 16 bita vlage. Štoviše, podijeljeni su u bajtove, visoke i niske, visoko s lijeve strane. Odnosno, na našoj slici podaci o vlažnosti su sljedeći:

0001000000000000 = 00000000 00010000 = 0x10 = 16% relativne vlažnosti.

Podaci o temperaturi slični:

0001011100000000 = 00000000 00010111 = 0x17 = 23 stepena Celzijusa.

Kontrolni bitovi - kontrolna suma je samo zbroj 4 primljena bajta podataka:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 u binarnom obliku ili 16 + 23 = 39 u decimalnom.

Preporučuje se: