Interfațarea senzorului de umiditate a temperaturii DHTxx cu Arduino

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest articol vom analiza senzorii din seria DHTxx, care sunt folosiți pentru măsurarea temperaturii și umidității, ambele funcționalități fiind integrate într-un singur modul.

Vom vedea specificațiile acestora, astfel încât să puteți alege cel mai bun senzor pentru proiectul dvs. și, în cele din urmă, îl vom interfața cu arduino și vom citi valorile în monitorul serial al software-ului IDE arduino.



DHTxx constă din doar două serii DHT11 și DHT22. Diferența majoră dintre ele este specificația și costul lor. DHT11 este un senzor low end și DHT22 este unul high end. DHT22 este mai scump decât DHT11, dar low end-ul este suficient de decent pentru proiectul hobby, cu excepția cazului în care faceți o măsurare serioasă cu proiectul dvs.

DHTxx este un dispozitiv cu 4 pini, unul dintre ele este NC sau nu are conexiune, așa că vom folosi doar 3 pini. Doi dintre aceștia sunt pini de alimentare, iar unul rămas este pinul de ieșire. Senzorul poate arăta simplu, dar necesită o bibliotecă pentru manipularea acestuia.



Senzorul este format dintr-un termistor, un dispozitiv de detectare a umidității și un microcontroler încorporat într-un modul. Specificațiile lor sunt după cum urmează:

DHT11:
• Gama de tensiune de lucru este de 3 până la 5V.
• Consumul său maxim de curent este de 2,5 mA.
• Poate măsura umiditatea cuprinsă între 20% și 80% - / + 5% precizie.
• Poate măsura temperatura cuprinsă între 0 și 50 grade Celsius +/- 2% precizie.
• Îi reîmprospătează valoarea la fiecare secundă.
• Dimensiunea sa este de 15,5 mm x 12 mm x 5,5 mm

DHT22:
• Tensiunea de funcționare este de 3 până la 5V
• Consumul său maxim de curent este de 2,5 mA.
• Poate măsura umiditatea cuprinsă între 0% și 100% 2-5% precizie.
• Poate măsura temperatura cuprinsă între -40 și +125 grade Celsius +/- 0,5% precizie.
• Îi reîmprospătează valoarea de două ori pe secundă.
• Dimensiunea sa este de 15,1 mm x 25 mm x 7,7 mm
Din specificațiile brute de mai sus puteți alege care dintre acestea este optimă pentru proiectul dvs.

Senzor de umiditate a temperaturii DHT11

Pinul de date trebuie întotdeauna conectat cu un rezistor de tracțiune de la 4,7K la 10K. Senzorul ilustrat mai sus a venit cu PCB cu pin NC eliminat și cu rezistență de tracțiune. Dar unii senzori vin fără acele caracteristici, fără rezistența de tracțiune, citirile trimise către arduino vor fi valori de eroare fatală.

Acum vom interfața senzorul DHT cu arduino. Înainte de a continua proiectul, descărcați fișierul bibliotecii de pe următorul link:

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

Aveți nevoie doar de aceste patru componente: senzor DHTxx, arduino Uno, cablu USB și un computer.

Doar introduceți senzorul pe pinii analogici ai arduino așa cum este ilustrat în prototip și aruncați codul pe arduino, deschideți monitorul serial și puteți vedea citirile.
Prototipul autorului:

Interfațarea senzorului de umiditate a temperaturii DHTxx cu Arduino//----------------------Program developed by R.Girish-------------// #include dht DHT #define DHTxxPIN A1 int p = A0 int n = A2 int ack int f void setup(){ Serial.begin(9600) pinMode(p,OUTPUT) pinMode(n,OUTPUT) } void loop() { digitalWrite(p,1) digitalWrite(n,0) ack=0 int chk = DHT.read11(DHTxxPIN) switch (chk) { case DHTLIB_ERROR_CONNECT: ack=1 break } if(ack==0) { f=DHT.temperature*1.8+32 Serial.print('Temperature(°C) = ') Serial.println(DHT.temperature) Serial.print('Temperature(°F) = ') Serial.print(f) Serial.print(' ') Serial.print('Humidity(%) = ') Serial.println(DHT.humidity) Serial.print(' ') delay(500) } if(ack==1) { Serial.print('NO DATA') Serial.print(' ') delay(500) } } //----------------------Program developed by R.Girish-------------//

Iesire monitor serial:




Precedent: Creați acest circuit de robinet fără atingere pentru controlul mâinii libere Următorul: Realizați acest circuit digital de măsurare a temperaturii, umidității folosind Arduino