DHT11: kõike andurit temperatuuri ja niiskuse mõõtmiseks

DHT11

Temperatuuri ja niiskuse mõõtmine on väga levinud paljudes elektrooniliste tegijate projektides. Isetegemises tuleb teatud süsteemide juhtimiseks neid parameetreid mõõta. Näiteks selleks, et oleks võimalik luua külmutus-, taimehooldus- või konditsioneerimissüsteem, mis käivitub, kui temperatuur või niiskus jõuavad teatud väärtuseni. Kuid selleks on vaja andurit nagu DHT11.

Turul andureid on palju väga erinevad temperatuurivahemikud koos toetatud temperatuurivahemike või erineva täpsusega. Selle näiteks on LM35, üks populaarsemaid ja elektroonikas kasutatavaid. On ka teisi niiskuse andureid, mis toimivad juhtivuse muutmise kaudu, näiteks Analog Devicesi AD22103KTZ. Kuid kui soovite mõõta mõlemat parameetrit, võib-olla pakub palju suuremat huvi seade, mida me selles artiklis täna käsitleme ...

Mis on DHT11?

El DHT11 on lihtne andur, mis mõõdab temperatuuri ja niiskust, kõik ühes. A) Jah te ei pea kahte andurit ostma eraldi. Selle hind on umbes 2 eurot, seega on see üsna odav, ehkki leiate selle ka moodulile monteerituna (kasutusmugavuse huvides PCB-le paigaldatud), nagu seda tüüpi Arduino elektroonilistes komponentides tavaliselt kasutatakse. Plaadi puhul sisaldab see 5 kilo oomi tõmbetakisti ja LED-i, mis hoiatab meid selle toimimise eest.

DHT11 on kõrge usaldusväärsus ja stabiilsus tänu oma kalibreeritud digitaalsignaalile. Samuti, kui vaatate selle andmelehte, näete, et sellel on huvitavaid funktsioone, nagu näete järgmistes jaotistes.

Sarnased tooted

DHT22

DHT11-le sarnane toode võib teile huvi pakkuda. see on DHT22. See on ka integreeritud temperatuuri ja niiskuse andur, kuid antud juhul on selle hind veidi kõrgem, umbes 4 €. Temperatuuri mõõtmise täpsus on 5% variatsioon nagu DHT11, kuid erinevalt sellest mõõdab see niiskuse vahemikku 20–80%. Seetõttu võib DHT22 olla huvitatud projektidest, kus peate mõõtma niiskust vahemikus 0 kuni 100%.

La andmete kogumise sagedus see on ka kaks korda suurem kui DHT11-l, DHT22-s võetakse 2 proovi sekundis DHT1 11 proovi sekundis asemel. Temperatuuri osas võib see täpsemini mõõta vahemikku -40 ºC kuni + 125 ºC, kuna see suudab mõõta kraadide murdosa, täpsemalt hindab see plussi / miinus 0,5 ºC variatsioone.

Pinout, funktsioonid ja andmeleht

DHT11 kinnitusdetail

Selle kohta leiate üsna palju tehnilist teavet DHT11 teie andmelehtedel. Iga selle seadme tootja võib anda mõned väärtused, mis võivad erineda, seetõttu soovitan alati lugeda ostetud seadme konkreetse tootja PDF-i. Kuigi enamik väärtusi võib teile sama välja näha, võivad need üksteise vahel veidi erineda. Selle olulisemad tehnilised omadused on:

  • Toiteallikas 3,5v kuni 5v
  • Voolutarve 2,5mA
  • Digitaalne väljundsignaal
  • Temperatuurivahemik 0 ° C kuni 50 ° C
  • Täpsus temperatuuri mõõtmiseks temperatuuril 25ºC, varieerudes umbes 2ºC juures
  • Temperatuuri mõõtmise eraldusvõime on 8-bitine, 1ºC
  • Niiskus võib mõõta vahemikus 20% kuni 90% suhtelist õhuniiskust
  • Täpselt õhuniiskus 5%, kui temperatuur on vahemikus 0-50ºC
  • Eraldusvõime on 1% RH, alla selle ei saa variatsioone koguda
  • Mouseri andmeleht

Andmete osas eetris digitaalselt. Seetõttu pole vaja minna analoog-digitaalsele nagu teistes andurites. See on Arduino IDE-sse kirjutamiseks keeruline kood, kuid sel juhul pole seda vaja ja see on palju lihtsam. Kuigi andur ise on analoog, kuid see sisaldab muundamise teostamiseks süsteemi ja seda saab ühendada otse Arduino digitaalse sisendiga.

Anduri analoogsignaal, mis on pinge variatsioon, teisendatakse digitaalsesse vormingusse, mis saadetakse Arduino mikrokontrollerile. See edastatakse aastal 40-bitine raam mis vastavad DHT11 poolt hõivatud niiskuse ja temperatuuri teabele. Esimesed kaks 8-bitist rühma on mõeldud niiskuse jaoks, see tähendab selle kaadri kõige olulisemaks 16 bitiks. Seejärel ülejäänud 2 ülejäänud 8-bitist rühma temperatuuri jaoks. See tähendab, et sellel on kaks baiti niiskuse ja kaks baiti temperatuuri jaoks. Näiteks:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

Sel juhul on niiskuse väärtus 0011 0101 0000 0010 ja temperatuur on 0001 1000 0000 0000. Esimene osa on täisarvu ja teine ​​kümnendkohti. Mis puudutab 0011 1001, see tähendab viimased 8-bitised on pariteet vigade vältimiseks. Nii saate ülekannete ajal kontrollida, kas kõik on õige. See vastab eelmiste bitide summale, seega kui summa on võrdne pariteediga, on see õige. Minu toodud näites see nii ei oleks, sest nagu näete, see ei vasta ... See viitaks ebaõnnestumisele.

Kui see on teada, tuleks DHT11 tehnilisel tasemel järgmine asi ära märkida tihvtid. The kontaktid või kinnita selle seadme kasutamine on lihtne, kuna sellel on ainult neli. Üks tihvtidest on toiteallika või Vcc jaoks, teine ​​sisend- / väljundandmete jaoks andmete edastamiseks, NC-tihvt, mis ei ühenda, ja GND maanduse jaoks.

Integreerimine Arduinoga

DHT11 ühendamine Arduinoga

Kui teate ka DHT11 kinnitust ja ka seda Arduino pardal on ühendus väga lihtne. Pidage meeles, et kui olete valinud PCB-sse integreeritud DHT11 mooduli, on tihvte kolm, kuna NC on asjade lihtsustamiseks eemaldatud. Ainus asi, mida peate tegema, on ühendada maandustihvt ühe Arduino GND-ühendusega, nagu see ilmub eelmise pildi skeemil.

Teiselt poolt peaks toite tihvt olema ühendatud 5v ühendus Arduinost, sel moel saab andur täielikult toite GND ja Vcc abil, kuid nüüd puuduvad andmed. Andmete edastamiseks andurilt DHT11 Arduino tahvlile saate kasutada ükskõik millist digitaalsisendit, näiteks 7, mis kuvatakse pildil ... Nüüd on teil kõik kasutamiseks valmis, kui olete vajalikud koodid loonud Arduino IDE ...

Kui andur on teie projektis kaugel ja kavatsete kasutada kaablit, mis on pikem kui 20 meetrit, siis kasutage 5k tõmbetakisti, suuremate kaablite jaoks peaks see olema proportsionaalselt suurem. Pange tähele, et kui kasutate 3,5v asemel 5v, siis ei tohiks kaabel pingelanguste tõttu olla pikem kui 20cm.

Pidage meeles, et see, mida nad soovitavad, on mõõta iga 5 sekundi järel, kuigi proovivõtusagedus, millega DHT11 saab töötada, on suurem, kuid kui seda tehakse sagedamini, ei pruugi see olla nii täpne.

Kood Arduino IDE-s

Otse koodi juurde minnes öelge see sisse Arduino IDE saate kasutada mitut olemasolevat raamatukogu funktsioonidega, mis muudavad teie elu DHT11 abil lihtsamaks. Näiteks üks neist on see, mis annab Adafruit. Pidage meeles, et meil on algajate juhend, mis algab Arduinoga PDF-is ja mida saate siit tasuta alla laadida ja see võib teid aidata.

Kui olete vastava kogu installinud, saate seda kommenteerida sisestage kood oma projekti jaoks DHT11 temperatuuri- ja niiskusanduri juhtimiseks Arduinoga. Näiteks:

#include "DHT.h"

const int DHTPin = 7;     
 
DHT dht(DHTPin, DHTTYPE);
 
void setup() {
   Serial.begin(9600);
   Serial.println("Midiendo...");
 
   dht.begin();
}
 
void loop() {
   delay(2000);
 
   float h = dht.readHumidity();
   float t = dht.readTemperature();
 
   if (isnan(h) || isnan(t)) {
      Serial.println("Fallo en la lectura del sensor DHT11");
      return;
   }
 
 
   Serial.print("Humedad relativa: ");
   Serial.print(h);
   Serial.print(" %\t");
   Serial.print("Temperatura: ");
   Serial.print(t);
   Serial.print(" ºC ");
}


Ole esimene kommentaar

Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.