Jak Připojit čidlo Teploty A Vlhkosti DHT11 K Arduinu

Obsah:

Jak Připojit čidlo Teploty A Vlhkosti DHT11 K Arduinu
Jak Připojit čidlo Teploty A Vlhkosti DHT11 K Arduinu

Video: Jak Připojit čidlo Teploty A Vlhkosti DHT11 K Arduinu

Video: Jak Připojit čidlo Teploty A Vlhkosti DHT11 K Arduinu
Video: DHT11 Temperature and humidity sensor using arduino with LCD disply tutorial 2024, Listopad
Anonim

Čidlo teploty a vlhkosti DHT17 je populární a levné čidlo, které lze použít v poměrně širokém rozsahu teplot a relativní vlhkosti. Podívejme se, jak jej připojit k Arduinu a jak z něj číst data.

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

Nezbytné

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

Instrukce

Krok 1

Čidlo DHT11 má tedy následující vlastnosti:

- rozsah měřené relativní vlhkosti - 20..90% s chybou až 5%, - rozsah měřených teplot - 0..50 stupňů Celsia s chybou až 2 stupně;

- doba odezvy na změny vlhkosti - do 15 sekund, teplota - do 30 sekund;

- minimální volební období je 1 sekunda.

Jak vidíte, senzor DHT11 není příliš přesný a teplotní rozsah nepokrývá záporné hodnoty, což je v našem podnebí stěží vhodné pro venkovní měření v chladném období. Nízké náklady, malá velikost a snadné použití však tyto nevýhody částečně kompenzovaly.

Obrázek ukazuje vzhled snímače a jeho rozměry v milimetrech.

Vzhled a rozměry senzoru DHT11
Vzhled a rozměry senzoru DHT11

Krok 2

Zvažte schéma připojení snímače teploty a vlhkosti DHT11 k mikrokontroléru, zejména k Arduinu. Na obrázku:

- MCU - mikrokontrolér (například Arduino nebo podobný) nebo jednodeskový počítač (Raspberry Pi nebo podobný);

- DHT11 - snímač teploty a vlhkosti;

- DATA - datová sběrnice; pokud délka propojovacího kabelu od senzoru k mikrokontroléru nepřesahuje 20 metrů, doporučuje se tahat tuto sběrnici k napájení pomocí rezistoru 5, 1 kOhm; pokud je větší než 20 metrů, pak další vhodná hodnota (menší).

- VDD - napájení snímače; přípustná napětí od ~ 3,0 do ~ 5,5 voltů DC; pokud je použito napájení ~ 3,3 V, pak je vhodné použít napájecí kabel, který není delší než 20 cm.

Jeden z vodičů snímače - třetí - není k ničemu připojen.

Senzor DHT11 se často prodává jako kompletní sestava s potřebným potrubím - pull-up rezistorem a filtračním kondenzátorem.

Schéma připojení snímače DHT11 k mikrokontroléru
Schéma připojení snímače DHT11 k mikrokontroléru

Krok 3

Spojme uvažované schéma. K obvodu také připojím logický analyzátor, abych mohl studovat časový diagram komunikace se senzorem.

Senzor DHT11 a Arduino
Senzor DHT11 a Arduino

Krok 4

Pojďme jednoduše: stáhněte si knihovnu pro senzor DHT11 (odkaz v sekci „Zdroje“), nainstalujte ji standardním způsobem (rozbalte ji do adresáře / libraries / vývojového prostředí Arduino).

Pojďme napsat takový jednoduchý náčrt. Načtěte to do Arduina. Tato skica bude každé 2 sekundy odesílat zprávy RH a Teplota načtené ze snímače DHT11 do sériového portu počítače.

Náčrt práce se snímačem teploty a vlhkosti DHT11
Náčrt práce se snímačem teploty a vlhkosti DHT11

Krok 5

Nyní pomocí diagramu časování získaného z logického analyzátoru pojďme zjistit, jak probíhá výměna informací.

Čidlo teploty a vlhkosti DHT11 používá pro komunikaci s mikrokontrolérem jednovodičové sériové rozhraní. Jedna výměna dat trvá přibližně 40 ms a obsahuje: 1 bit požadavku od mikrokontroléru, 1 bit odezvy senzoru a 40 datových bitů od senzoru. Data zahrnují: 16 bitů informací o vlhkosti, 26 bitů informací o teplotě a 8 kontrolních bitů.

Podívejme se blíže na časový diagram komunikace Arduino se senzorem DHT11.

Z obrázku je patrné, že existují dva typy impulzů: krátký a dlouhý. Krátké impulsy v tomto výměnném protokolu označují nuly, dlouhé pulsy - jednotky.

První dva impulsy jsou tedy požadavkem Arduina na DHT11 a podle toho také reakcí snímače. Dále přichází 16 bitů vlhkosti. Navíc jsou rozděleny na bajty, vysoké a nízké, vysoké vlevo. To znamená, že na našem obrázku jsou údaje o vlhkosti následující:

0001000000000000 = 00000000 00010000 = 0x10 = 16% RH.

Údaje o teplotě podobné:

0001011100000000 = 00000000 00010111 = 0x17 = 23 stupňů Celsia.

Kontrolní bity - kontrolní součet je pouze součtem 4 přijatých datových bytů:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 v binárním formátu nebo 16 + 23 = 39 v desítkovém formátu.

Doporučuje: