Ako Pripojiť Snímač Teploty A Vlhkosti DHT11 K Arduinu

Obsah:

Ako Pripojiť Snímač Teploty A Vlhkosti DHT11 K Arduinu
Ako Pripojiť Snímač Teploty A Vlhkosti DHT11 K Arduinu

Video: Ako Pripojiť Snímač Teploty A Vlhkosti DHT11 K Arduinu

Video: Ako Pripojiť Snímač Teploty A Vlhkosti DHT11 K Arduinu
Video: Датчик температуры и влажности DHT-11 подключение к Arduino 2024, November
Anonim

Senzor teploty a vlhkosti DHT17 je populárny a lacný senzor, ktorý je možné použiť v pomerne širokom rozmedzí teplôt a relatívnej vlhkosti. Pozrime sa, ako ho pripojiť k Arduinu a ako z neho načítať údaje.

Snímač teploty a vlhkosti DHT11
Snímač teploty a vlhkosti DHT11

Nevyhnutné

  • - Arduino;
  • - snímač teploty a vlhkosti DHT17.

Inštrukcie

Krok 1

Senzor DHT11 má teda nasledujúce vlastnosti:

- rozsah nameranej relatívnej vlhkosti - 20..90% s chybou do 5%, - rozsah nameraných teplôt - 0..50 stupňov Celzia s chybou až 2 stupne;

- doba odozvy na zmeny vlhkosti - do 15 sekúnd, teplota - do 30 sekúnd;

- minimálna volebná doba je 1 sekunda.

Ako vidíte, snímač DHT11 nie je veľmi presný a teplotný rozsah nepokrýva záporné hodnoty, čo je v našej klíme pre vonkajšie merania v chladnom období sotva vhodné. Avšak jeho nízka cena, malá veľkosť a ľahké použitie tieto nevýhody čiastočne kompenzujú.

Obrázok zobrazuje vzhľad snímača a jeho rozmery v milimetroch.

Vzhľad a rozmery snímača DHT11
Vzhľad a rozmery snímača DHT11

Krok 2

Zvážte schému pripojenia snímača teploty a vlhkosti DHT11 k mikrokontroléru, najmä k Arduinu. Na obrázku:

- MCU - mikrokontrolér (napríklad Arduino alebo podobný) alebo jednodeskový počítač (Raspberry Pi alebo podobný);

- DHT11 - snímač teploty a vlhkosti;

- DATA - dátová zbernica; ak dĺžka spojovacieho kábla od snímača k mikrokontroléru nepresahuje 20 metrov, potom sa odporúča ťahať túto zbernicu na napájanie s odporom 5, 1 kOhm; ak je viac ako 20 metrov, potom iná vhodná hodnota (menšia).

- VDD - napájanie snímača; prípustné napätie od ~ 3,0 do ~ 5,5 voltov DC; ak sa použije napájanie ~ 3,3 V, odporúča sa použiť napájací vodič, ktorý nie je dlhší ako 20 cm.

Jeden z vodičov snímača - tretí - nie je k ničomu pripojený.

Senzor DHT11 sa často predáva ako kompletná zostava s potrebným potrubím - pull-up rezistorom a filtračným kondenzátorom.

Schéma pripojenia snímača DHT11 k mikrokontroléru
Schéma pripojenia snímača DHT11 k mikrokontroléru

Krok 3

Poďme dať dohromady uvažovanú schému. K obvodu pripojím aj logický analyzátor, aby som mohol študovať časový diagram komunikácie so snímačom.

Senzor DHT11 a Arduino
Senzor DHT11 a Arduino

Krok 4

Poďme na to jednoduchým spôsobom: stiahnite si knižnicu pre snímač DHT11 (odkaz v časti „Zdroje“), nainštalujte ho štandardným spôsobom (rozbalte ho do adresára / libraries / vývojového prostredia Arduino).

Poďme si napísať taký jednoduchý náčrt. Načítajme to do Arduina. Tento náčrt bude každé 2 sekundy vysielať správy RH a Teplota načítané zo snímača DHT11 do sériového portu počítača.

Náčrt práce so snímačom teploty a vlhkosti DHT11
Náčrt práce so snímačom teploty a vlhkosti DHT11

Krok 5

Teraz pomocou časovacieho diagramu získaného z logického analyzátora poďme zistiť, ako sa uskutočňuje výmena informácií.

Senzor teploty a vlhkosti DHT11 používa na komunikáciu s mikrokontrolérom jednovodičové sériové rozhranie. Jedna výmena dát trvá asi 40 ms a obsahuje: 1 bit požiadavky od mikrokontroléra, 1 bit odozvy senzora a 40 dátových bitov od senzora. Údaje zahŕňajú: 16 bitov informácií o vlhkosti, 26 bitov informácií o teplote a 8 kontrolných bitov.

Pozrime sa podrobnejšie na časový diagram komunikácie Arduina so snímačom DHT11.

Z obrázku je zrejmé, že existujú dva typy impulzov: krátky a dlhý. Krátke impulzy v tomto protokole výmeny znamenajú nuly, dlhé impulzy - jednotky.

Takže prvé dva impulzy sú požiadavkou Arduina na DHT11 a podľa toho aj reakciou snímača. Ďalej prichádza 16 bitov vlhkosti. Ďalej sú rozdelené na bajty, vysoké a nízke, vysoko vľavo. To znamená, že na našom obrázku sú údaje o vlhkosti nasledujúce:

0001000000000000 = 00000000 00010000 = 0x10 = 16% relatívna vlhkosť.

Údaje o teplote podobné:

0001011100000000 = 00000000 00010111 = 0x17 = 23 stupňov Celzia.

Kontrolné bity - kontrolný súčet je iba súčtom 4 prijatých dátových bajtov:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 v binárnom formáte alebo 16 + 23 = 39 v desatinnom čísle.

Odporúča: