Kuidas ühendada DHT11 Temperatuuri- Ja Niiskusandur Arduinoga

Sisukord:

Kuidas ühendada DHT11 Temperatuuri- Ja Niiskusandur Arduinoga
Kuidas ühendada DHT11 Temperatuuri- Ja Niiskusandur Arduinoga

Video: Kuidas ühendada DHT11 Temperatuuri- Ja Niiskusandur Arduinoga

Video: Kuidas ühendada DHT11 Temperatuuri- Ja Niiskusandur Arduinoga
Video: Датчик температуры DHT11 для ESP8266, ESP-01S-DHT11-v1.0 2024, Mai
Anonim

DHT17 temperatuuri- ja niiskusandur on populaarne ja odav andur, mida saab kasutada üsna laias temperatuuride ja suhtelise niiskuse vahemikus. Vaatame, kuidas seda Arduinoga ühendada ja kuidas sealt andmeid lugeda.

DHT11 temperatuuri ja niiskuse andur
DHT11 temperatuuri ja niiskuse andur

Vajalik

  • - Arduino;
  • - DHT17 temperatuuri ja niiskuse andur.

Juhised

Samm 1

Niisiis, anduril DHT11 on järgmised omadused:

- mõõdetud suhtelise õhuniiskuse vahemik - 20..90%, veaga kuni 5%, - mõõdetud temperatuuride vahemik - 0..50 kraadi Celsiuse järgi, veaga kuni 2 kraadi;

- reageerimisaeg niiskuse muutustele - kuni 15 sekundit, temperatuur - kuni 30 sekundit;

- minimaalne valimisperiood on 1 sekund.

Nagu näete, pole DHT11 andur eriti täpne ja temperatuurivahemik ei kata negatiivseid väärtusi, mis meie kliimas külmhooajal vaevalt sobib välismõõtmisteks. Kuid selle madal hind, väike suurus ja kasutusmugavus kompenseerisid need puudused osaliselt.

Joonisel on kujutatud anduri välimus ja mõõtmed millimeetrites.

DHT11 anduri välimus ja mõõtmed
DHT11 anduri välimus ja mõõtmed

2. samm

Mõelge DHT11 temperatuuri- ja niiskusanduri ühendusskeemile mikrokontrolleriga, eriti Arduinoga. Pildil:

- MCU - mikrokontroller (näiteks Arduino või muu sarnane) või üheplaadiline arvuti (Raspberry Pi või muu sarnane);

- DHT11 - temperatuuri- ja niiskusandur;

- DATA - andmesiin; kui anduri ja mikrokontrolleri vahelise ühenduskaabli pikkus ei ületa 20 meetrit, siis on soovitatav see buss toiteallikasse tõmmata 5, 1 kOhm takisti abil; kui üle 20 meetri, siis teine sobiv väärtus (väiksem).

- VDD - anduri toiteallikas; lubatud pinged vahemikus ~ 3,0 kuni ~ 5,5 volti DC; kui kasutatakse toiteallikat ~ 3,3 V, on soovitatav kasutada toitetraati, mis ei ole pikem kui 20 cm.

Üks anduri juhtmetest - kolmas - pole millegagi ühendatud.

DHT11 andurit müüakse sageli tervikuna koos vajaliku torustikuga - ülestõmbetakisti ja filtri kondensaatoriga.

DHT11 anduri mikrokontrolleriga ühendamise skeem
DHT11 anduri mikrokontrolleriga ühendamise skeem

3. samm

Paneme kokku kaalutud skeemi. Ühendan vooluringiga ka loogikaanalüsaatori, et saaksin uurida anduriga suhtlemise ajastusskeemi.

DHT11 andur ja Arduino
DHT11 andur ja Arduino

4. samm

Läheme lihtsal viisil: laadige DHT11 anduri jaoks raamatukogu alla (link jaotises "Allikad"), installige see tavapärasel viisil (pakkige lahti Arduino arenduskeskkonna kataloogi / libraries).

Kirjutame nii lihtsa visandi. Laadime selle Arduinosse. See visand väljastab DHT11 andurilt loetud RH ja temperatuuri teated iga 2 sekundi järel arvuti jadaporti.

Visand töötamiseks temperatuuri-niiskuse anduriga DHT11
Visand töötamiseks temperatuuri-niiskuse anduriga DHT11

5. samm

Kasutame nüüd loogikaanalüsaatorist saadud ajadiagrammi abil välja, kuidas toimub teabevahetus.

DHT11 temperatuuri- ja niiskusandur kasutab mikrokontrolleriga suhtlemiseks ühe juhtmega jadaliidest. Üks andmevahetus võtab aega umbes 40 ms ja sisaldab: 1 päringubitti mikrokontrollerilt, 1 biti anduri vastust ja 40 andmebitti andurilt. Andmed sisaldavad: 16 bitti niiskusteavet, 26 bitti temperatuuri teavet ja 8 kontrollbitti.

Vaatame lähemalt Arduino DHT11 anduriga suhtlemise ajagraafikut.

Jooniselt on näha, et impulsse on kahte tüüpi: lühike ja pikk. Lühikesed impulsid selles vahetusprotokollis tähistavad nulle, pikad impulsse.

Kaks esimest impulssi on Arduino taotlus DHT11-le ja vastavalt ka anduri vastus. Järgmisena tuleb 16 bitti niiskust. Pealegi on need jagatud baitideks, kõrged ja madalad, kõrged vasakul. See tähendab, et meie joonisel on niiskuse andmed järgmised:

0001000000000000 = 00000000 00010000 = 0x10 = 16% suhteline õhuniiskus.

Temperatuuriandmed on sarnased:

0001011100000000 = 00000000 00010111 = 0x17 = 23 kraadi Celsiuse järgi.

Kontrollbitid - kontrollsumma on vaid 4 saadud andmebaidi liitmine:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 binaarses vormis või 16 + 23 = 39 kümnendkohaga.

Soovitan: