Kako Spojiti DHT11 Osjetnik Temperature I Vlage Na Arduino

Sadržaj:

Kako Spojiti DHT11 Osjetnik Temperature I Vlage Na Arduino
Kako Spojiti DHT11 Osjetnik Temperature I Vlage Na Arduino

Video: Kako Spojiti DHT11 Osjetnik Temperature I Vlage Na Arduino

Video: Kako Spojiti DHT11 Osjetnik Temperature I Vlage Na Arduino
Video: Arduino Uno и Датчик температуры и влажности DHT11 (DHT22) 2024, Travanj
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.

Upute

Korak 1

Dakle, DHT11 senzor ima sljedeće karakteristike:

- raspon izmjerene relativne vlažnosti zraka - 20..90% s pogreškom do 5%, - raspon izmjerenih temperatura - 0..50 Celzijevih stupnjeva s pogreškom do 2 stupnja;

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

- minimalno razdoblje glasanja je 1 sekunda.

Kao što vidite, senzor DHT11 nije vrlo precizan, a temperaturni raspon 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 korištenja 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čunalo s jednom pločom (Raspberry Pi ili slično);

- DHT11 - senzor temperature i vlage;

- DATA - sabirnica podataka; ako duljina spojnog kabela od senzora do mikrokontrolera ne prelazi 20 metara, tada se preporuča povući ovu sabirnicu na napajanje otpornikom od 5, 1 kOhm; ako je više od 20 metara, onda druga prikladna vrijednost (manja).

- VDD - napajanje senzora; dopušteni naponi od ~ 3,0 do ~ 5,5 volti istosmjerne struje; ako se koristi napajanje ~ 3,3 V, tada je poželjno koristiti žicu za napajanje koja nije duža od 20 cm.

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

DHT11 senzor često se prodaje kao cjeloviti sklop s potrebnim otpornikom za izvlačenje i kondenzatorom filtra.

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

3. korak

Sastavimo razmatranu shemu. 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

4. korak

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 s DHT11 osjetnikom temperature i vlage
Skica za rad s DHT11 osjetnikom temperature i vlage

Korak 5

Sada, koristeći vremenski dijagram dobiven 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.

Razmotrimo detaljnije 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, sukladno tome, odgovor senzora. Slijedi 16 bitova vlage. Štoviše, podijeljeni su u bajtove, visoke i niske, visoko slijeva. To jest, 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 Celzijeva stupnja.

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čeni: