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
A DHT11 Hőmérséklet- és Páratartalom-érzékelő Csatlakoztatása Az Arduino-hoz

Tartalomjegyzék:

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.

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.

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.

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.

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.

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: