Sådan Tilsluttes DHT11 Temperatur- Og Fugtighedsføler Til Arduino

Indholdsfortegnelse:

Sådan Tilsluttes DHT11 Temperatur- Og Fugtighedsføler Til Arduino
Sådan Tilsluttes DHT11 Temperatur- Og Fugtighedsføler Til Arduino

Video: Sådan Tilsluttes DHT11 Temperatur- Og Fugtighedsføler Til Arduino

Video: Sådan Tilsluttes DHT11 Temperatur- Og Fugtighedsføler Til Arduino
Video: Arduino Uno и Датчик температуры и влажности DHT11 (DHT22) 2024, November
Anonim

DHT17 temperatur- og fugtighedssensoren er en populær og billig sensor, der kan bruges over et temmelig bredt interval af temperaturer og relativ fugtighed. Lad os se, hvordan man forbinder det til Arduino, og hvordan man læser data fra det.

DHT11 temperatur- og fugtighedsføler
DHT11 temperatur- og fugtighedsføler

Nødvendig

  • - Arduino;
  • - DHT17 temperatur- og fugtighedsføler.

Instruktioner

Trin 1

Så DHT11-sensoren har følgende egenskaber:

- område af målt relativ luftfugtighed - 20..90% med en fejl på op til 5%

- område af målte temperaturer - 0..50 grader Celsius med en fejl på op til 2 grader;

- svartid på ændringer i fugtighed - op til 15 sekunder, temperatur - op til 30 sekunder;

- den mindste valgperiode er 1 sekund.

Som du kan se, er DHT11-sensoren ikke særlig nøjagtig, og temperaturområdet dækker ikke negative værdier, hvilket næppe er egnet til udendørs målinger i den kolde årstid i vores klima. Imidlertid opvejer dens lave omkostninger, lille størrelse og brugervenlighed delvis disse ulemper.

Figuren viser sensorens udseende og dens dimensioner i millimeter.

DHT11-sensorens udseende og dimensioner
DHT11-sensorens udseende og dimensioner

Trin 2

Overvej forbindelsesdiagrammet for DHT11 temperatur- og fugtighedssensoren til mikrokontrolleren, især til Arduino. På billedet:

- MCU - mikrokontroller (for eksempel Arduino eller lignende) eller enkelt bordcomputer (Raspberry Pi eller lignende);

- DHT11 - temperatur- og fugtighedsføler;

- DATA - databus; hvis længden af forbindelseskablet fra sensoren til mikrocontrolleren ikke overstiger 20 meter, anbefales det at trække denne bus til strømforsyningen med en 5, 1 kOhm modstand; hvis mere end 20 meter, så er en anden passende værdi (mindre).

- VDD - sensor strømforsyning; tilladte spændinger fra ~ 3,0 til ~ 5,5 volt jævnstrøm; hvis der bruges strømforsyning ~ 3,3 V, anbefales det at bruge en forsyningsledning, der ikke længere er end 20 cm.

En af sensorkablerne - den tredje - er ikke forbundet til noget.

DHT11-sensoren sælges ofte som en komplet samling med den nødvendige rørføring - pull-up modstand og filterkondensator.

Diagram over tilslutning af DHT11-sensor til mikrokontroller
Diagram over tilslutning af DHT11-sensor til mikrokontroller

Trin 3

Lad os sammensætte den overvejede ordning. Jeg vil også forbinde en logisk analysator til kredsløbet, så jeg kan studere tidsdiagrammet for kommunikationen med sensoren.

DHT11-sensor og Arduino
DHT11-sensor og Arduino

Trin 4

Lad os gå den enkle vej: Hent biblioteket til DHT11-sensoren (link i afsnittet "Kilder"), installer det som standard (udpak det til / biblioteker / biblioteket i Arduino-udviklingsmiljøet).

Lad os skrive sådan en simpel skitse. Lad os indlæse det i Arduino. Denne skitse sender RH- og temperaturmeddelelserne, der læses fra DHT11-sensoren, til computerens serielle port hvert andet sekund.

Skitse til arbejde med en DHT11-fugtighedsføler
Skitse til arbejde med en DHT11-fugtighedsføler

Trin 5

Lad os nu finde ud af, hvordan informationsudvekslingen udføres ved hjælp af tidsdiagrammet opnået fra logikanalysatoren.

DHT11 temperatur- og fugtighedssensoren bruger en enkelt-lednings seriel grænseflade til at kommunikere med mikrocontrolleren. Én dataudveksling tager cirka 40 ms og indeholder: 1 anmodningsbit fra mikrokontrolleren, 1 bit af sensorresponset og 40 databits fra sensoren. Dataene inkluderer: 16 bit fugtighedsinformation, 26 bit temperaturinformation og 8 checkbit.

Lad os se nærmere på tidsdiagrammet for Arduino-kommunikationen med DHT11-sensoren.

Det kan ses af figuren, at der er to typer impulser: korte og lange. Korte impulser i denne udvekslingsprotokol angiver nuller, lange impulser - ener.

Så de første to impulser er Arduino's anmodning til DHT11 og følgelig sensorens svar. Dernæst kommer 16 bits fugtighed. Desuden er de opdelt i byte, høj og lav, høj til venstre. I vores figur er fugtighedsdataene som følger:

0001000000000000 = 00000000 00010000 = 0x10 = 16% relativ luftfugtighed.

Temperaturdata svarende til:

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

Check bits - kontrolsummen er kun summeringen af 4 modtagne databytes:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 i binær eller 16 + 23 = 39 i decimal.

Anbefalede: