DHT11: všetko o senzore na meranie teploty a vlhkosti

DHT11

Meranie teploty a vlhkosti je veľmi bežné v mnohých projektoch elektronických výrobcov. V DIY je bežné, že musíte merať tieto parametre, aby ste ovládali určité systémy. Napríklad byť schopný vytvoriť chladiaci, ošetrovací alebo klimatizačný systém, ktorý sa spustí, ak teplota alebo vlhkosť dosiahne určitú hodnotu. Aby to však bolo možné, potrebujete snímač ako DHT11.

Na trhu existuje veľa senzorov veľmi odlišné teplotné rozsahy s podporovanými teplotnými rozsahmi alebo rôznymi presnosťami. Príkladom toho je LM35, jeden z najpopulárnejších a najpoužívanejších v elektronike. Existujú aj ďalšie snímače vlhkosti, ktoré pôsobia na základe zmeny vodivosti, ako napríklad AD22103KTZ od Analog Devices. Ak však chcete merať obidva parametre, možno je oveľa zaujímavejšie zariadenie, o ktorom dnes hovoríme v tomto článku ...

Čo je DHT11?

El DHT11 je jednoduchý snímač, ktorý meria teplotu a vlhkosť, všetko v jednom. A) Áno nebudete musieť kupovať dva senzory oddelene. Jeho cena je asi 2 €, takže je pomerne lacný, aj keď ho tiež nájdete namontovaný na module (kvôli ľahkému použitiu namontovaný na doske plošných spojov), ako je to u tohto typu elektronických súčiastok pre Arduino obvyklé. V prípade dosky obsahuje 5 kilový ohmový odpor a LED, ktorá nás varuje pred operáciou.

DHT11 má vysoká spoľahlivosť a stabilita vďaka kalibrovanému digitálnemu signálu. Ak sa pozriete na jeho technický list, uvidíte, že má zaujímavé vlastnosti, ako uvidíte v ďalších častiach.

Podobné výrobky

DHT22

Existuje produkt podobný DHT11, ktorý by vás mohol zaujímať. to je DHT22. Jedná sa tiež o integrovaný snímač teploty a vlhkosti, avšak v tomto prípade je jeho cena o niečo vyššia, zhruba 4 €. Presnosť merania teploty je rovnako ako DHT5 11% odchýlka, ale na rozdiel od nej meria mimo rozsahu vlhkosti medzi 20 a 80%. Preto by vás DHT22 mohol zaujímať pre projekty, kde potrebujete merať vlhkosť od 0 do 100%.

La frekvencia zberu údajov je to tiež dvakrát viac ako v prípade DHT11, v DHT22 sa odoberajú 2 vzorky za sekundu namiesto 1 vzorky za sekundu z DHT11. Pokiaľ ide o teplotu, môže merať od -40 ° C do + 125 ° C s väčšou presnosťou, pretože dokáže merať zlomky stupňov, konkrétne dokáže oceniť odchýlky plus / mínus 0,5 ° C.

Pinout, funkcie a údajový list

Pinout DHT11

Môžete nájsť dosť technických informácií o DHT11 vo vašich údajových listoch. Každý výrobca tohto zariadenia môže uviesť niektoré hodnoty, ktoré sa môžu líšiť, preto vždy odporúčam prečítať PDF dokumentu konkrétneho výrobcu zakúpeného zariadenia. Aj keď vám väčšina hodnôt môže pripadať rovnaká, môžu sa medzi nimi mierne meniť. Jeho najdôležitejšie technické vlastnosti sú:

  • Napájanie 3,5 V až 5 V
  • Spotreba prúdu 2,5 mA
  • Digitálny výstupný signál
  • Teplotný rozsah od 0 ° C do 50 ° C
  • Presnosť merania teploty pri 25 ° C s variáciou približne 2 ° C
  • Rozlíšenie na meranie teploty je 8-bitové, 1 ° C
  • Vlhkosť môže merať od 20% RH do 90% RV
  • Presná vlhkosť 5% RH pre teploty medzi 0-50 ° C
  • Rozlíšenie je 1% RH, pod ním nedokáže zachytiť variácie
  • Údajový list spoločnosti Mouser

Pokiaľ ide o údaje, vysielať v digitálnom formáte. Preto nie je potrebné prechádzať z analógového na digitálny ako v iných senzoroch. To komplikovalo zápis kódu do Arduino IDE, ale v tomto prípade to nie je potrebné a je to oveľa jednoduchšie. Samotný snímač je síce analógový, ale obsahuje systém na vykonávanie konverzie a je možné ho pripojiť priamo k digitálnemu vstupu Arduina.

Analógový signál, ktorý predstavuje zmenu napätia, zo snímača prechádza do digitálneho formátu a odosiela sa do mikrokontroléra Arduino. Prenáša sa dovnútra 40-bitový rámec ktoré zodpovedajú informáciám o vlhkosti a teplote zachytených DHT11. Prvé dve 8-bitové skupiny sú určené pre vlhkosť, to znamená najvýznamnejších 16 bitov tohto rámca. Potom ďalšie 2 zvyšné 8-bitové skupiny pre teplotu. To znamená, že má dva bajty pre vlhkosť a dva bajty pre teplotu. Napríklad:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

V tomto prípade je 0011 0101 0000 0010 hodnota vlhkosti a 0001 1000 0000 0000 je teplota. Prvá časť je pre celočíselnú časť a druhá časť pre desatinné miesta. Pokiaľ ide o 0011 1001, to znamená, posledné 8-bitové sú parity vyhnúť sa chybám. Takto môžete skontrolovať, či je počas prenosov všetko v poriadku. Zodpovedá to súčtu predchádzajúcich bitov, preto ak je súčet rovný parite, bude to správne. V príklade, ktorý som uviedol, by to nebolo ono, pretože, ako vidíte, nezodpovedá ... To by znamenalo zlyhanie.

Keď je to známe, ďalšou vecou na technickej úrovni DHT11, ktorú je potrebné poznamenať, sú kolíky. The kontakty alebo pinout tohto zariadenia je jednoduché, pretože ich má iba 4. Jeden z pinov je na napájanie alebo Vcc, druhý na I / O na prenos dát, NC pin, ktorý sa nepripojuje, a GND pre uzemnenie.

Integrácia s Arduino

Pripojenie DHT11 k Arduinu

Akonáhle poznáte pinout DHT11 a tiež na doske Arduino, pripojenie je veľmi jednoduché. Pamätajte, že ak ste si vybrali modul DHT11 integrovaný do DPS, budú kolíky tri, pretože NC je kvôli uľahčeniu odstránený. Všetko, čo musíte urobiť, je pripojiť uzemňovací kolík k jednému z GND pripojení Arduina, ako je to znázornené na diagrame na predchádzajúcom obrázku.

Na druhej strane by mal byť pripojený napájací kolík 5V pripojenie od Arduina, Senzor bude teda plne napájaný na GND a Vcc, ale teraz chýbajú údaje. Na prenos údajov zo snímača DHT11 na dosku Arduino môžete použiť ktorýkoľvek z digitálnych vstupov, napríklad 7, ktoré sa zobrazia na obrázku ... Teraz máte všetko pripravené na použitie, akonáhle vytvoríte potrebné Arduino IDE kód ...

Ak je senzor vo vašom projekte ďaleko a budete používať kábel dlhší ako 20 metrov, použite 5k pull-up rezistor, pre väčšie káble by to malo byť proporcionálne väčšie. Upozorňujeme, že ak namiesto 3,5 V použijete napájanie 5 V, potom by kábel nemal byť kvôli poklesom napätia dlhší ako 20 cm.

Pamätajte, že to, čo odporúčajú, je merajte každých 5 sekúnd, vzorkovacia frekvencia, pri ktorej môže DHT11 pracovať, je síce vyššia, ale ak sa to robí častejšie, nemusí to byť také presné.

Kód v Arduino IDE

Ideme priamo ku kódu a povedzme to v Arduino IDE môžete použiť množstvo existujúcich knižníc s funkciami, ktoré vám uľahčia život s DHT11. Napríklad jeden z nich je ten poskytuje Adafruit. Pamätajte, že máme sprievodcu pre začiatočníkov, ktorý začína Arduinom v PDF, ktorý môžete stiahnuť zadarmo odtiaľto a môže ti pomôcť.

Po nainštalovaní príslušnej knižnice môžete položky komentovať zadajte kód na ovládanie snímača teploty a vlhkosti DHT11 pre váš projekt pomocou Arduina. Napríklad:

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


Buďte prvý komentár

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.