Kako Povezati Senzor Temperature In Vlažnosti DHT11 Na Arduino

Kazalo:

Kako Povezati Senzor Temperature In Vlažnosti DHT11 Na Arduino
Kako Povezati Senzor Temperature In Vlažnosti DHT11 Na Arduino

Video: Kako Povezati Senzor Temperature In Vlažnosti DHT11 Na Arduino

Video: Kako Povezati Senzor Temperature In Vlažnosti DHT11 Na Arduino
Video: Arduino Uno и Датчик температуры и влажности DHT11 (DHT22) 2024, November
Anonim

Senzor temperature in vlažnosti DHT17 je priljubljen in poceni senzor, ki ga lahko uporabljate v dokaj širokem območju temperatur in relativne vlažnosti. Poglejmo, kako ga povezati z Arduinom in kako brati podatke iz njega.

DHT11 senzor temperature in vlažnosti
DHT11 senzor temperature in vlažnosti

Potrebno

  • - Arduino;
  • - DHT17 senzor temperature in vlažnosti.

Navodila

Korak 1

Torej ima senzor DHT11 naslednje značilnosti:

- območje izmerjene relativne vlažnosti - 20..90% z napako do 5%, - razpon izmerjenih temperatur - 0..50 stopinj Celzija z napako do 2 stopinj;

- odzivni čas na spremembe vlažnosti - do 15 sekund, temperature - do 30 sekund;

- najkrajše obdobje glasovanja je 1 sekunda.

Kot lahko vidite, senzor DHT11 ni zelo natančen in temperaturno območje ne pokriva negativnih vrednosti, kar je v naših podnebjih komaj primerno za zunanje meritve v hladni sezoni. Nizka cena, majhnost in enostavnost uporabe pa te pomanjkljivosti delno izravnajo.

Slika prikazuje videz senzorja in njegove mere v milimetrih.

Videz in mere senzorja DHT11
Videz in mere senzorja DHT11

2. korak

Upoštevajte diagram povezave senzorja temperature in vlažnosti DHT11 z mikrokrmilnikom, zlasti z Arduinom. Na sliki:

- MCU - mikrokrmilnik (na primer Arduino ali podoben) ali enojni računalnik (Raspberry Pi ali podoben);

- DHT11 - senzor temperature in vlage;

- DATA - podatkovno vodilo; če dolžina povezovalnega kabla od senzorja do mikrokrmilnika ne presega 20 metrov, je priporočljivo, da to vodilo povlečete na napajanje z uporom 5, 1 kOhm; če je več kot 20 metrov, potem druga primerna vrednost (manjša).

- VDD - napajanje senzorja; dovoljene napetosti od ~ 3,0 do ~ 5,5 voltov enosmernega toka; če se uporablja napajalnik ~ 3,3 V, je priporočljivo uporabiti napajalno žico, ki ni daljša od 20 cm.

Eden od vodnikov senzorja - tretji - ni povezan z ničemer.

Senzor DHT11 se pogosto prodaja kot celoten sklop s potrebnim cevnim vlečnim uporom in kondenzatorjem filtra.

Shema priključitve senzorja DHT11 na mikrokrmilnik
Shema priključitve senzorja DHT11 na mikrokrmilnik

3. korak

Sestavimo obravnavano shemo. Na vezje bom priklopil tudi logični analizator, da bom lahko preučil časovni diagram komunikacije s senzorjem.

DHT11 senzor in Arduino
DHT11 senzor in Arduino

4. korak

Pojdimo na preprost način: prenesite knjižnico za senzor DHT11 (povezava v razdelku "Viri"), jo namestite na standardni način (razpakirajte v imenik / knjižnice / razvojnega okolja Arduino).

Napišimo tako preprosto skico. Naložimo ga v Arduino. Ta skica bo vsaka 2 sekundi prikazala sporočila RH in temperature, prebrana s senzorja DHT11, na zaporedna vrata računalnika.

Skica za delo s senzorjem temperature in vlažnosti DHT11
Skica za delo s senzorjem temperature in vlažnosti DHT11

5. korak

Zdaj, s pomočjo časovnega diagrama, pridobljenega iz logičnega analizatorja, ugotovimo, kako poteka izmenjava informacij.

Senzor temperature in vlažnosti DHT11 uporablja enožični serijski vmesnik za komunikacijo z mikrokrmilnikom. Ena izmenjava podatkov traja približno 40 ms in vsebuje: 1 bit zahteve mikrokrmilnika, 1 bit odziva senzorja in 40 podatkovnih bitov senzorja. Podatki vključujejo: 16 bitov informacij o vlažnosti, 26 bitov informacij o temperaturi in 8 kontrolnih bitov.

Oglejmo si podrobneje časovni diagram komunikacije Arduino s senzorjem DHT11.

Iz slike je razvidno, da obstajata dve vrsti impulzov: kratki in dolgi. Kratki impulzi v tem protokolu izmenjave označujejo ničle, dolgi impulzi - enote.

Torej, prva dva impulza sta Arduinova zahteva za DHT11 in s tem odziv senzorja. Sledi 16 bitov vlage. Poleg tega so razdeljeni na bajte, visoke in nizke, visoko na levi. Na naši sliki so podatki o vlagi naslednji:

0001000000000000 = 00000000 00010000 = 0x10 = 16% relativne vlažnosti.

Podatki o temperaturi, podobni:

0001011100000000 = 00000000 00010111 = 0x17 = 23 stopinj Celzija.

Kontrolni bit - kontrolna vsota je le seštevek 4 prejetih bajtov podatkov:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 v binarni obliki ali 16 + 23 = 39 v decimalni obliki.

Priporočena: