DHT11: gjithçka në lidhje me sensorin për matjen e temperaturës dhe lagështisë

DHT11

Matja e temperaturës dhe lagështisë është shumë e zakonshme në shumë projekte të prodhuesve elektronikë. Në DIY është e zakonshme që të duhet të matni këto parametra për të kontrolluar sisteme të caktuara. Për shembull, për të qenë në gjendje të krijoni një sistem ftohjeje, kujdesi për bimët ose sistemin e kondicionimit të ajrit që fillon nëse temperatura ose lagështia arrin një vlerë të caktuar. Por që të jetë e mundur ju duhet një sensor si DHT11.

Në treg ka shumë sensorë interval shumë të ndryshëm të temperaturës, me interval të mbështetur të temperaturës ose precizione të ndryshme. Një shembull i kësaj është LM35, një nga më të njohurit dhe të përdorur në elektronikë. Ekzistojnë edhe sensorë të tjerë të lagështisë që veprojnë me variacion të përçueshmërisë siç është AD22103KTZ nga Analog Devices. Por nëse doni të matni të dy parametrat, ndoshta pajisja që diskutojmë sot në këtë artikull është me shumë interes ...

Çfarë është DHT11?

El DHT11 është një sensor i thjeshtë që mat temperaturën dhe lagështinë, të gjitha në një. A) Po nuk do të keni nevojë të blini dy sensorë veçmas. Çmimi i tij është rreth 2 €, kështu që është mjaft i lirë, megjithëse mund ta gjeni të montuar në një modul (i montuar në një PCB për lehtësinë e përdorimit) siç është zakonisht në këtë lloj përbërësi elektronik për Arduino. Në rastin e bordit, ai përfshin një rezistencë tërheqëse 5 kilo ohm dhe një LED që na lajmëron për funksionimin.

DHT11 ka besueshmëri dhe qëndrueshmëri e lartë për shkak të sinjalit dixhital të tij të kalibruar. Gjithashtu, nëse shikoni fletën e të dhënave, do të shihni se ka karakteristika interesante, siç do të shihni në seksionet e ardhshme.

Produkte të ngjashme

DHT22

Ekziston një produkt i ngjashëm me DHT11 për të cilin mund të interesoheni. Eshte DHT22. Alsoshtë gjithashtu një sensor i integruar i temperaturës dhe lagështisë, por në këtë rast çmimi i tij është pak më i lartë, rreth 4 €. Saktësia për të matur temperaturën është 5% variacion gjithashtu si DHT11, por ndryshe nga ajo, ajo mat përtej intervalit të lagështisë midis 20 dhe 80%. Prandaj, mund të jeni të interesuar në DHT22 për projekte ku keni nevojë të matni lagështinë nga 0 në 100%.

La frekuenca e mbledhjes së të dhënave është gjithashtu dyfishi i DHT11, në DHT22 merren 2 mostra në sekondë në vend të 1 mostre për sekondë të DHT11. Sa i përket temperaturës, ajo mund të matet nga -40ºC në + 125ºC me më shumë saktësi, meqenëse mund të masë fraksionet e gradave, konkretisht mund të vlerësojë variacionet plus / minus 0,5ºC.

Pinout, karakteristikat dhe fleta e të dhënave

Pinte DHT11

Ju mund të gjeni mjaft informacione teknike në lidhje me DHT11 në fletët tuaja të të dhënave. Secili prodhues i kësaj pajisje mund të sigurojë disa vlera që mund të ndryshojnë, kështu që unë gjithmonë rekomandoj të lexoni PDF të prodhuesit specifik të pajisjes që keni blerë. Megjithëse shumica e vlerave mund të duken të njëjta për ju, mund të ketë ndonjë ndryshim të vogël nga njëra te tjetra. Karakteristikat më të rëndësishme teknike të tij janë:

  • Furnizimi me energji 3,5v në 5v
  • 2,5mA konsumi aktual
  • Sinjali i daljes dixhitale
  • Diapazoni i temperaturës nga 0ºC deri 50ºC
  • Saktësia për të matur temperaturën në 25ºC me rreth 2ºC ndryshim
  • Rezolucioni për të matur temperaturën është 8-bit, 1ºC
  • Lagështia mund të matet nga 20% RH në 90% RH
  • Saktësisht për lagështi prej 5% RH për temperaturat ndërmjet 0-50ºC
  • Rezolucioni është 1% RH, nuk mund të marrë variacione nën atë
  • Fleta e të dhënave Mouser

Lidhur me të dhënat, transmetohet në dixhital. Prandaj, nuk është e nevojshme të kalohet nga analoge në dixhitale si në sensorë të tjerë. Kjo e komplikoi kodin për të shkruar në Arduino IDE, por në këtë rast nuk është i nevojshëm dhe është shumë më i lehtë. Edhe pse sensori në vetvete është analog, por përfshin një sistem për të kryer konvertimin dhe mund të lidhet direkt me një hyrje dixhitale të Arduino.

Sinjali analog, i cili është një ndryshim i tensionit, nga sensori shndërrohet në format dixhital për t’u dërguar në mikrokontrolluesin Arduino. Transmetohet në një kornizë 40 bitëshe që korrespondojnë me informacionin e lagështisë dhe temperaturës të kapur nga DHT11. Dy grupet e para me 8 bit janë për lagështinë, domethënë 16 bitët më domethënës të kësaj kornize. Pastaj 2 grupet e tjera të mbetura 8-bitëshe për temperaturën. Domethënë, ka dy bajtë për lagështirë dhe dy bajtë për temperaturën. Për shembull:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

Në këtë rast, 0011 0101 0000 0010 është vlera e lagështisë, dhe 0001 1000 0000 0000 është temperatura. Një pjesë e parë është për pjesën e plotë dhe pjesa e dytë është për dhjetore. Sa për 0011 1001, që është, 8-bitët e fundit janë paritet për të shmangur gabimet. Në këtë mënyrë ju mund të kontrolloni se gjithçka është e saktë gjatë transmetimeve. Ajo korrespondon me shumën e bitëve të mëparshëm, prandaj, nëse shuma është e barabartë me barazinë, do të jetë e saktë. Në shembullin që kam vënë, nuk do të ishte, sepse siç mund ta shihni nuk korrespondon ... Kjo do të tregonte një dështim.

Pasi kjo të dihet, gjëja tjetër në një nivel teknik të DHT11 që duhet të shënohet janë kunjat. kontakte ose pinout e kësaj pajisje është e thjeshtë, pasi ajo ka vetëm 4 prej tyre. Njëra nga kunjat është për energji ose Vcc, tjetra për I / O për të transmetuar të dhëna, një kunj NC që nuk lidhet dhe GND për lidhjen e tokës.

Integrimi me Arduino

Lidhja e DHT11 me Arduino

Pasi të keni njohur pikën e DHT11 dhe gjithashtu bordi Arduino, lidhja është shumë e thjeshtë. Mos harroni se nëse keni zgjedhur një modul DHT11 të integruar në një PCB, kunjat do të jenë tre, pasi NC hiqet për t'i bërë gjërat më të lehta. E vetmja gjë që duhet të bësh është të lidhësh kunjin e tokës me një nga lidhjet GND të Arduino siç duket në diagramin në imazhin e mëparshëm.

Nga ana tjetër, kunji i rrymës duhet të jetë i lidhur lidhja 5v nga Arduino, kështu që sensori do të mundësohet plotësisht me GND dhe Vcc, por tani të dhënat mungojnë. Për të transmetuar të dhënat nga sensori DHT11 në bordin Arduino, mund të përdorni cilindo nga hyrjet dixhitale, të tilla si 7 që shfaqen në imazh ... Tani keni gjithçka gati për t'i përdorur pasi të keni krijuar Arduino IDE-në e nevojshme kod ...

Nëse sensori është larg në projektin tuaj dhe ju do të përdorni një kabllo më të gjatë se 20 metra, atëherë përdorni një rezistencë tërheqëse 5k, për kabllot më të mëdha duhet të jetë proporcionalisht më e madhe. Vini re se nëse përdorni energji 3,5v në vend të 5v, atëherë kablloja nuk duhet të jetë më e gjatë se 20 cm për shkak të rënies së tensionit.

Mos harroni se ajo që ata rekomandojnë është bëni matje çdo 5 sekonda, megjithëse frekuenca e marrjes së mostrave në të cilën DHT11 mund të funksionojë është më e lartë, por nëse bëhet më shpesh mund të mos jetë aq e saktë.

Kodo në Arduino IDE

Duke shkuar drejt kodit, thuaj që në Arduino IDE mund të përdorni një numër bibliotekash ekzistuese me karakteristika që do ta bëjnë jetën tuaj më të lehtë me DHT11. Për shembull, një prej tyre është ai që siguron Adafruit. Mos harroni se ne kemi një udhëzues për fillestarët që fillon me Arduino në PDF që mundeni shkarkoni falas nga këtu dhe kjo mund të ju ndihmojë.

Pasi të keni të instaluar bibliotekën përkatëse, mund të komentoni shkruani kodin për të kontrolluar sensorin e temperaturës dhe lagështisë DHT11 për projektin tuaj me Arduino. Për shembull:

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


Bëhu i pari që komenton

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.