DHT11: alt om sensoren for måling av temperatur og fuktighet

DHT11

Måling av temperatur og fuktighet er veldig vanlig i mange elektroniske produsentprosjekter. I DIY er det vanlig å måle disse parametrene for å kontrollere visse systemer. For eksempel å kunne lage et kjøle-, anleggspleie- eller klimaanlegg som starter opp hvis temperaturen eller fuktigheten når en viss verdi. Men for at det skal være mulig, trenger du en sensor som DHT11.

På markedet det er mange sensorer veldig forskjellige temperaturområder, med støttede temperaturområder eller forskjellige presisjoner. Et eksempel på dette er LM35, en av de mest populære og brukte innen elektronikk. Det er også andre fuktighetssensorer som virker ved variasjon av ledningsevne, for eksempel AD22103KTZ fra Analog Devices. Men hvis du vil måle begge parametrene, er enheten som vi diskuterer i dag i denne artikkelen kanskje av mye mer interesse ...

Hva er DHT11?

El DHT11 er en enkel sensor som måler temperatur og fuktighet, alt i et. A) Ja du trenger ikke å kjøpe to sensorer hver for seg. Prisen er omtrent € 2, så den er ganske billig, selv om du også kan finne den montert på en modul (montert på et PCB for enkel bruk) som vanlig i denne typen elektroniske komponenter for Arduino. Når det gjelder brettet, inneholder det en 5 kilo ohm opptrekksmotstand og en LED som varsler oss om operasjonen.

DHT11 har høy pålitelighet og stabilitet på grunn av det kalibrerte digitale signalet. Hvis du ser på databladet, vil du også se at det har interessante funksjoner, som du vil se i fremtidige seksjoner.

Lignende produkter

DHT22

Det er et produkt som ligner på DHT11 som du kanskje er interessert i. Det er DHT22. Det er også en integrert temperatur- og fuktighetssensor, men i dette tilfellet er prisen litt høyere, ca € 4. Nøyaktigheten for å måle temperaturen er 5% variasjon også som DHT11, men i motsetning til den måler den utenfor fuktighetsområdet mellom 20 og 80%. Derfor kan du være interessert i DHT22 for prosjekter der du måler fuktighet fra 0 til 100%.

La datainnsamlingsfrekvens det er også dobbelt så mye som DHT11, i DHT22 tas det 2 prøver per sekund i stedet for 1 prøve per sekund av DHT11. Når det gjelder temperaturen, kan den måle fra -40 ° C til + 125 ° C med mer presisjon, siden den kan måle brøkdeler av grader, spesielt kan den sette pris på variasjoner på pluss / minus 0,5 ° C.

Pinout, funksjoner og datablad

DHT11 pin out

Du finner ganske mye teknisk informasjon om DHT11 i databladene dine. Hver produsent av denne enheten kan gi noen verdier som kan variere, så jeg anbefaler alltid å lese PDF-filen til den spesifikke produsenten av enheten du har kjøpt. Selv om de fleste verdiene kan se like ut for deg, kan det være noe liten variasjon fra den ene til den andre. De viktigste tekniske egenskapene er:

  • Strømforsyning fra 3,5 v til 5 v
  • 2,5 mA strømforbruk
  • Digital utgangssignal
  • Temperaturområde fra 0 ° C til 50 ° C
  • Nøyaktighet for å måle temperaturen ved 25 ° C på ca. 2 ° C variasjon
  • Oppløsningen for å måle temperaturen er 8-bit, 1ºC
  • Fuktighet kan måle fra 20% RF til 90% RF
  • Nøyaktig for fuktighet på 5% RF for temperaturer mellom 0-50ºC
  • Oppløsningen er 1% RF, du kan ikke hente varianter under det
  • Mouser-datablad

Når det gjelder dataene, sendes i digital. Derfor er det ikke nødvendig å gå fra analog til digital som i andre sensorer. Det kompliserte koden for å skrive i Arduino IDE, men i dette tilfellet er det ikke nødvendig, og det er mye lettere. Selv om sensoren selv er analog, men den inkluderer et system for å utføre konverteringen og kan kobles direkte til en digital inngang fra Arduino.

Det analoge signalet, som er en variasjon av spenningen, fra sensoren konverteres til digitalt format som skal sendes til Arduino mikrokontroller. Den overføres i en 40-biters ramme som tilsvarer fuktighets- og temperaturinformasjonen som er fanget av DHT11. De to første 8-bits gruppene er for fuktighet, det vil si de mest betydningsfulle 16 bitene i denne rammen. Deretter de andre 2 gjenværende 8-biters gruppene for temperatur. Det vil si at den har to byte for fuktighet og to byte for temperatur. For eksempel:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

I dette tilfellet er 0011 0101 0000 0010 fuktighetsverdien, og 0001 1000 0000 0000 er temperaturen. En første del er for hele delen og den andre delen er for desimaler. Når det gjelder 0011 1001, det vil si siste 8-bit er paritet for å unngå feil. På den måten kan du sjekke at alt er riktig under overføring. Det tilsvarer summen av de forrige bitene, og hvis summen er lik paritet, vil den være riktig. I eksemplet jeg har satt, ville det ikke være, for som du ser, samsvarer det ikke ... Det ville indikere en feil.

Når dette er kjent, er det neste på et teknisk nivå av DHT11 som bør bemerkes pinnene. De kontakter eller pinout av denne enheten er enkel, siden den bare har 4 av dem. En av pinnene er for strøm eller Vcc, den andre for I / O for å overføre data, en NC-pinne som ikke kobles til, og GND for jordforbindelsen.

Integrasjon med Arduino

Koble DHT11 til Arduino

Når du vet utpekingen av DHT11 og også Arduino-kortet, er forbindelsen veldig enkel. Husk at hvis du har valgt en DHT11-modul integrert i et PCB, vil pinnene være tre, siden NC er fjernet for å gjøre ting enklere. Alt du trenger å gjøre er å koble jordpinnen til en av Arduinos GND-tilkoblinger slik den vises i diagrammet i forrige bilde.

På den annen side bør strømpinnen kobles til 5v-forbindelsen fra Arduino, dermed vil sensoren være fullt drevet med GND og Vcc, men nå mangler dataene. For å overføre dataene fra DHT11-sensoren til Arduino-kortet, kan du bruke hvilken som helst av de digitale inngangene, for eksempel 7 som vises på bildet ... Nå har du alt klart til å bruke det når du har opprettet den nødvendige Arduino IDE kode ...

Hvis sensoren er langt borte i prosjektet ditt, og du skal bruke en kabel som er lengre enn 20 meter, så bruk en 5 k opptrekksmotstand, for større kabler bør den være proporsjonalt større. Merk at hvis du bruker 3,5 v strøm i stedet for 5 v, bør kabelen ikke være lengre enn 20 cm på grunn av spenningsfall.

Husk at det de anbefaler er ta målinger hvert 5. sekund, selv om prøvetakingsfrekvensen DHT11 kan operere med er høyere, men hvis den gjøres oftere, er den kanskje ikke like nøyaktig.

Kode i Arduino IDE

Gå rett til koden, si det i Arduino IDE Du kan bruke en rekke eksisterende biblioteker med funksjoner som vil gjøre livet ditt enklere med DHT11. For eksempel er en av dem den som gir Adafruit. Husk at vi har en nybegynnerveiledning som starter med Arduino i PDF som du kan last ned gratis herfra og det kan hjelpe deg.

Når du har installert det tilsvarende biblioteket, kan du kommentere Tast inn koden for å kontrollere DHT11 temperatur- og fuktighetssensoren for prosjektet ditt med Arduino. For eksempel:

#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 ");
}


Bli den første til å kommentere

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.