DHT11: lahat tungkol sa sensor para sa pagsukat ng temperatura at halumigmig

DHT11

Ang pagsukat ng temperatura at halumigmig ay karaniwan sa maraming mga proyektong gumagawa ng electronic. Sa DIY karaniwan na kailangang sukatin ang mga parameter na ito upang makontrol ang ilang mga system. Halimbawa, upang makalikha ng isang pagpapalamig, pag-aalaga ng halaman, o sistema ng aircon na nagsisimula kung ang temperatura o halumigmig ay umabot sa isang tiyak na halaga. Ngunit para sa posible na kailangan mo ng isang sensor tulad ng DHT11.

Sa merkado maraming sensors ibang-iba ang mga saklaw ng temperatura, na may sinusuportahang mga saklaw ng temperatura o iba't ibang mga precision. Ang isang halimbawa nito ay ang LM35, isa sa pinakatanyag at ginamit sa electronics. Mayroon ding iba pang mga sensor ng kahalumigmigan na kumikilos sa pamamagitan ng pagkakaiba-iba ng kondaktibiti tulad ng AD22103KTZ mula sa Mga Analog Device. Ngunit kung nais mong masukat ang parehong mga parameter, marahil ang aparato na tinatalakay natin ngayon sa artikulong ito ay higit na interes ...

Ano ang DHT11?

El Ang DHT11 ay isang simpleng sensor na sumusukat sa temperatura at halumigmig, lahat sa isa. A) Oo hindi mo kailangang bumili ng dalawang sensor magkahiwalay. Ang presyo nito ay humigit-kumulang € 2, kaya't medyo mura ito, kahit na mahahanap mo rin ito na naka-mount sa isang module (naka-mount sa isang PCB para madaling gamitin) tulad ng dati sa ganitong uri ng mga elektronikong sangkap para sa Arduino. Sa kaso ng board, nagsasama ito ng isang 5 kilo ohm pull-up risistor at isang LED na nagbabala sa amin sa operasyon.

Ang DHT11 ay mayroon mataas na pagiging maaasahan at katatagan dahil sa naka-calibrate na digital signal. Gayundin, kung titingnan mo ang datasheet nito, makikita mo na mayroon itong mga kagiliw-giliw na tampok, tulad ng makikita mo sa mga seksyon sa hinaharap.

Katulad na mga Produkto

DHT22

Mayroong isang produkto na katulad sa DHT11 na maaaring interesado ka. Ito ay ang DHT22. Ito rin ay isang pinagsamang temperatura at sensor ng kahalumigmigan, ngunit sa kasong ito ang presyo nito ay medyo mas mataas, mga € 4. Ang kawastuhan upang masukat ang temperatura ay 5% na pagkakaiba-iba tulad din ng DHT11, ngunit hindi katulad nito, sumusukat ito lampas sa saklaw ng halumigmig sa pagitan ng 20 at 80%. Samakatuwid, maaari kang maging interesado sa DHT22 para sa mga proyekto kung saan kailangan mong sukatin ang halumigmig mula 0 hanggang 100%.

La dalas ng koleksyon ng data doble din ito sa DHT11, sa DHT22 2 sample ang kinukuha bawat segundo sa halip na 1 sample bawat segundo ng DHT11. Tulad ng para sa temperatura, maaari itong sukatin mula -40ºC hanggang + 125ºC na may mas tumpak, dahil masusukat nito ang mga praksiyon ng degree, partikular na maaari nitong pahalagahan ang mga pagkakaiba-iba ng plus / minus 0,5ºC.

Pinout, mga tampok at datasheet

DHT11 pinout

Maaari kang makahanap ng kaunting impormasyong panteknikal tungkol sa DHT11 sa iyong mga datasheet. Ang bawat tagagawa ng aparatong ito ay maaaring magbigay ng ilang mga halagang maaaring magkakaiba, kaya palagi kong inirerekumenda na basahin ang PDF ng tukoy na tagagawa ng aparato na iyong binili. Bagaman ang karamihan sa mga halaga ay maaaring magmukhang pareho sa iyo, maaaring mayroong kaunting pagkakaiba-iba mula sa isa hanggang sa isa pa. Ang pinakamahalagang teknikal na katangian nito ay:

  • 3,5v hanggang 5v na supply ng kuryente
  • 2,5mA kasalukuyang pagkonsumo
  • Digital signal signal
  • Saklaw ng temperatura mula 0ºC hanggang 50ºC
  • Katumpakan upang masukat ang temperatura sa 25ºC ng tungkol sa 2ºC na pagkakaiba-iba
  • Ang resolusyon upang masukat ang temperatura ay 8-bit, 1ºC
  • Maaaring sukatin ang kahalumigmigan mula 20% RH hanggang 90% RH
  • Tama para sa halumigmig ng 5% RH para sa mga temperatura sa pagitan ng 0-50ºC
  • Ang resolusyon ay 1% RH, hindi ito maaaring pumili ng mga pagkakaiba-iba sa ibaba nito
  • Mouser Datasheet

Tungkol sa data, mag-broadcast sa digital. Samakatuwid, hindi kinakailangan na pumunta mula sa analog hanggang digital tulad ng ibang mga sensor. Na kumplikado ang code upang isulat sa Arduino IDE, ngunit sa kasong ito hindi ito kinakailangan at mas madali ito. Bagaman ang sensor mismo ay analog, ngunit nagsasama ito ng isang system upang maisagawa ang conversion at maaaring konektado nang direkta sa isang digital input ng Arduino.

Ang analog signal, na kung saan ay isang pagkakaiba-iba ng boltahe, mula sa sensor ay na-convert sa digital format upang maipadala sa Arduino microcontroller. Naipapasa ito sa isang 40-bit na frame na tumutugma sa halumigmig at impormasyon sa temperatura na nakuha ng DHT11. Ang unang dalawang 8-bit na pangkat ay para sa kahalumigmigan, iyon ay, ang pinaka makabuluhang 16 na piraso ng frame na ito. Pagkatapos ang iba pang 2 natitirang mga 8-bit na pangkat para sa temperatura. Iyon ay, mayroon itong dalawang bytes para sa kahalumigmigan at dalawang bytes para sa temperatura. Halimbawa:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

Sa kasong ito, ang 0011 0101 0000 0010 ay ang halumigmig na halaga, at 0001 1000 0000 0000 ang temperatura. Ang isang unang bahagi ay para sa integer na bahagi at ang pangalawang bahagi ay para sa mga decimal. Tulad ng para sa 0011 1001, iyon ay, ang huling 8-bit ay pagkakapareho upang maiwasan ang mga pagkakamali. Sa ganoong paraan maaari mong suriin na ang lahat ay tama sa panahon ng pagpapadala. Ito ay tumutugma sa kabuuan ng nakaraang mga piraso, samakatuwid, kung ang kabuuan ay katumbas ng pagkakapantay-pantay, ito ay magiging tama. Sa halimbawang ibinigay ko, hindi ito magiging, sapagkat tulad ng nakikita mong hindi ito tumutugma ... Iyon ay magpapahiwatig ng pagkabigo.

Kapag nalalaman ito, ang susunod na bagay sa isang teknikal na antas ng DHT11 na dapat tandaan ay ang mga pin. Ang mga contact o pinout ng aparatong ito ay simple, dahil mayroon lamang itong 4 sa kanila. Ang isa sa mga pin ay para sa kapangyarihan o Vcc, ang isa pa para sa I / O upang magpadala ng data, isang NC pin na hindi kumonekta, at GND para sa koneksyon sa lupa.

Pagsasama sa Arduino

Pagkonekta sa DHT11 kay Arduino

Kapag alam mo na ang pinout ng DHT11 at pati na rin ang Arduino board, ang koneksyon ay napaka-simple. Tandaan na kung pinili mo ang isang module na DHT11 na isinama sa isang PCB, ang mga pin ay magiging tatlo, dahil ang NC ay tinanggal upang gawing mas madali ang mga bagay. Ang kailangan mo lang gawin ay ikonekta ang ground pin sa isa sa mga koneksyon ng GND ng Arduino na lumilitaw sa diagram sa nakaraang imahe.

Sa kabilang banda, ang power pin ay dapat na konektado ang 5v na koneksyon mula sa Arduino, sa gayon ang sensor ay ganap na pinapatakbo ng GND at Vcc, ngunit ngayon ang data ay nawawala. Upang maipadala ang data mula sa sensor ng DHT11 sa Arduino board, maaari mong gamitin ang alinman sa mga digital na input, tulad ng 7 na lilitaw sa imahe ... Ngayon ay handa mo nang gamitin ito sa sandaling nalikha mo ang kinakailangang Arduino IDE code ...

Kung ang sensor ay malayo sa iyong proyekto at gagamit ka ng isang cable na mas mahaba sa 20 metro, pagkatapos ay gumamit ng isang 5k pull-up risistor, para sa mas malaking mga kable dapat itong proporsyonal na mas malaki. Tandaan na kung gumagamit ka ng 3,5v na kapangyarihan sa halip na 5v, kung gayon ang cable ay hindi dapat mas mahaba sa 20cm dahil sa pagbagsak ng boltahe.

Tandaan na ang inirekomenda nila ay magsukat bawat 5 segundo, bagaman ang dalas ng sampling kung saan maaaring gumana ang DHT11 ay mas mataas, ngunit kung ginagawa ito nang mas madalas maaaring hindi ito tumpak.

Code sa Arduino IDE

Dumiretso sa code, sabihin iyon sa Arduino IDE maaari mong gamitin ang isang bilang ng mga umiiral na mga aklatan na may mga tampok na gagawing mas madali ang iyong buhay sa DHT11. Halimbawa, ang isa sa kanila ay ang isa nagbibigay ng Adafruit. Tandaan na mayroon kaming gabay ng nagsisimula na nagsisimula sa Arduino sa PDF na magagawa mo mag-download ng libre mula dito at makakatulong ito sa iyo.

Kapag na-install mo na ang kaukulang library, maaari kang magbigay ng puna Ipasok ang code upang makontrol ang temperatura ng DHT11 at sensor ng kahalumigmigan para sa iyong proyekto gamit ang Arduino. Halimbawa:

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


Ang nilalaman ng artikulo ay sumusunod sa aming mga prinsipyo ng etika ng editoryal. Upang mag-ulat ng isang pag-click sa error dito.

Maging una sa komento

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish.

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

Pagsubok sa EnglishSubukan ang Catalanpagsusulit sa Espanyol