A DHT11 Hőmérséklet- és Páratartalom-érzékelő Csatlakoztatása Az Arduino-hoz

Tartalomjegyzék:

A DHT11 Hőmérséklet- és Páratartalom-érzékelő Csatlakoztatása Az Arduino-hoz
A DHT11 Hőmérséklet- és Páratartalom-érzékelő Csatlakoztatása Az Arduino-hoz

Videó: A DHT11 Hőmérséklet- és Páratartalom-érzékelő Csatlakoztatása Az Arduino-hoz

Videó: A DHT11 Hőmérséklet- és Páratartalom-érzékelő Csatlakoztatása Az Arduino-hoz
Videó: Модуль датчика DHT11 с поддержкой температуры и влажности Arduino 2024, Lehet
Anonim

A DHT17 hőmérséklet- és páratartalom-érzékelő egy népszerű és olcsó érzékelő, amely a hőmérséklet és a relatív páratartalom meglehetősen széles tartományában használható. Lássuk, hogyan lehet csatlakoztatni az Arduinóhoz, és hogyan lehet róla adatokat olvasni.

DHT11 hőmérséklet- és páratartalom-érzékelő
DHT11 hőmérséklet- és páratartalom-érzékelő

Szükséges

  • - Arduino;
  • - DHT17 hőmérséklet- és páratartalom-érzékelő.

Utasítás

1. lépés

Tehát a DHT11 érzékelő a következő tulajdonságokkal rendelkezik:

- a mért relatív páratartalom tartománya - 20..90%, legfeljebb 5% -os hibával, - a mért hőmérséklet tartománya - 0..50 Celsius fok, legfeljebb 2 fokos hibával;

- a páratartalom változására adott válaszidő - legfeljebb 15 másodperc, a hőmérséklet - legfeljebb 30 másodperc;

- a szavazás minimális időtartama 1 másodperc.

Amint láthatja, a DHT11 érzékelő nem túl pontos, és a hőmérséklet-tartomány nem fedi le a negatív értékeket, ami éghajlatunkban alig alkalmas kültéri mérésekre a hideg évszakban. Alacsony költsége, kis mérete és könnyű kezelhetősége azonban részben ellensúlyozza ezeket a hátrányokat.

Az ábra az érzékelő megjelenését és méreteit mutatja milliméterben.

A DHT11 érzékelő megjelenése és méretei
A DHT11 érzékelő megjelenése és méretei

2. lépés

Tekintsük a DHT11 hőmérséklet- és páratartalom-érzékelő és a mikrovezérlő, különösen az Arduino csatlakozási rajzát. A képen:

- MCU - mikrovezérlő (például Arduino vagy hasonló) vagy egypaneles számítógép (Raspberry Pi vagy hasonló);

- DHT11 - hőmérséklet- és páratartalom-érzékelő;

- DATA - adatbusz; ha az érzékelőtől a mikrovezérlőig tartó összekötőkábel hossza nem haladja meg a 20 métert, akkor ajánlott ezt a buszt az áramellátáshoz 5, 1 kOhm ellenállással húzni; ha több mint 20 méter, akkor egy másik megfelelő érték (kisebb).

- VDD - érzékelő tápegysége; megengedett feszültségek ~ 3,0-5,5 volt DC; ~ 3,3 V tápellátás esetén ajánlatos legfeljebb 20 cm hosszú tápvezetéket használni.

Az egyik érzékelő vezeték - a harmadik - nem csatlakozik semmihez.

A DHT11 érzékelőt gyakran komplett szerelvényként értékesítik a szükséges csövekkel - felhúzható ellenállással és szűrőkondenzátorral.

A DHT11 érzékelő mikrokontrollerhez történő csatlakoztatásának rajza
A DHT11 érzékelő mikrokontrollerhez történő csatlakoztatásának rajza

3. lépés

Állítsuk össze a figyelembe vett sémát. Csatlakoztatok egy logikai elemzőt is az áramkörhöz, hogy tanulmányozhassam az érzékelővel folytatott kommunikáció időzítési diagramját.

DHT11 érzékelő és Arduino
DHT11 érzékelő és Arduino

4. lépés

Menjünk az egyszerű módon: töltsük le a könyvtárat a DHT11 érzékelőhöz (link a "Források" szakaszban), telepítsük a szokásos módon (kicsomagoljuk az Arduino fejlesztői környezet / könyvtárak / könyvtárába).

Írjunk ilyen egyszerű vázlatot. Töltsük be az Arduino-ba. Ez a vázlat 2 másodpercenként kiadja a DHT11 érzékelőből olvasott páratartalom és hőmérséklet üzeneteket a számítógép soros portjára.

Vázlat a DHT11 hőmérséklet-páratartalom érzékelővel való munkához
Vázlat a DHT11 hőmérséklet-páratartalom érzékelővel való munkához

5. lépés

Most a logikai analizátorból kapott időzítési diagram segítségével találjuk ki, hogyan zajlik az információcsere.

A DHT11 hőmérséklet- és páratartalom-érzékelő egyvezetékes soros interfészt használ a mikrovezérlővel való kommunikációhoz. Egy adatcsere körülbelül 40 ms-ot vesz igénybe, és tartalmaz: 1 kérési bitet a mikrovezérlőtől, 1 bitet az érzékelő válaszától és 40 adatbitet az érzékelőtől. Az adatok tartalmazzák: 16 bit nedvességtartalmú információt, 26 bit hőmérsékleti információt és 8 ellenőrző bitet.

Vizsgáljuk meg közelebbről az Arduino és a DHT11 érzékelő kommunikációjának időzítési diagramját.

Az ábrán látható, hogy kétféle impulzus létezik: rövid és hosszú. A rövid impulzusok ebben a csereprotokollban nullákat, a hosszú impulzusokat jelölnek.

Tehát az első két impulzus az Arduino kérése a DHT11-hez, és ennek megfelelően az érzékelő válasza. Ezután 16 bit páratartalom következik. Sőt, bájtokra vannak osztva, magasra és alacsonyra, balra magasra. Azaz ábra szerint a nedvességi adatok a következők:

0001000000000000 = 00000000 00010000 = 0x10 = 16% relatív páratartalom.

Hőmérséklet adatok hasonlóak:

0001011100000000 = 00000000 00010111 = 0x17 = 23 Celsius fok.

Ellenőrző bitek - az ellenőrző összeg csak 4 fogadott adatbájt összegzése:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 bináris formátumban, vagy 16 + 23 = 39 decimálisban.

Ajánlott: