Labai dažnai matuojama temperatūra ir drėgmė daugelyje elektroninių kūrėjų projektų. Pasidaryk pats, kai reikia valdyti tam tikras sistemas, reikia išmatuoti šiuos parametrus. Pavyzdžiui, kad būtų galima sukurti šaldymo, augalų priežiūros ar oro kondicionavimo sistemą, kuri įsijungia, jei temperatūra ar drėgmė pasiekia tam tikrą vertę. Bet kad tai būtų įmanoma, jums reikia tokio jutiklio kaip DHT11.
Rinkoje yra daug jutiklių labai skirtingi temperatūros diapazonai, palaikomi temperatūros diapazonai arba skirtingi tikslumai. To pavyzdys yra LM35, vienas populiariausių ir naudojamų elektronikoje. Taip pat yra kitų drėgmės jutiklių, veikiančių laidumo pokyčius, pavyzdžiui, „Analog Devices“ AD22103KTZ. Bet jei norite išmatuoti abu parametrus, galbūt prietaisas, kurį šiandien aptarėme šiame straipsnyje, yra daug įdomesnis ...
Kas yra DHT11?
El DHT11 yra paprastas jutiklis, matuojantis temperatūrą ir drėgmę, viskas viename. A) Taip nereikės pirkti dviejų jutiklių atskirai. Jo kaina yra apie 2 €, todėl ji yra gana pigi, nors ją taip pat galite rasti montuojamą ant modulio (montuojamo ant PCB, kad būtų patogiau naudotis), kaip įprasta tokio tipo „Arduino“ elektroniniuose komponentuose. Plokštės atveju į ją įeina 5 kilogramų omo atsparumas rezistoriui ir šviesos diodas, įspėjantis mus apie veikimą.
DHT11 turi didelis patikimumas ir stabilumas dėl kalibruoto skaitmeninio signalo. Be to, jei pažvelgsite į jo duomenų lapą, pamatysite, kad jis turi įdomių funkcijų, kaip pamatysite tolesniuose skyriuose.
Panašūs produktai
Yra produktas, panašus į DHT11, kuris gali jus sudominti. tai yra DHT22. Tai taip pat yra integruotas temperatūros ir drėgmės jutiklis, tačiau šiuo atveju jo kaina yra šiek tiek didesnė, apie 4 eurus. Tikslumas matuojant temperatūrą yra 5% kitimas, kaip ir DHT11, tačiau, skirtingai nuo jo, jis matuoja drėgmės ribas nuo 20 iki 80%. Todėl jus gali dominti DHT22 projektams, kuriuose reikia matuoti drėgmę nuo 0 iki 100%.
La duomenų rinkimo dažnumas jis taip pat dvigubai didesnis nei DHT11, DHT22 yra imami 2 mėginiai per sekundę, o ne 1 mėginys per sekundę DHT11. Kalbant apie temperatūrą, jis gali tiksliau matuoti nuo -40 ° C iki + 125 ° C, nes jis gali matuoti laipsnių dalis, ypač vertindamas pliuso / minuso 0,5 ° C svyravimus.
Pinout, funkcijos ir duomenų lapas
Galite rasti nemažai techninės informacijos apie DHT11 jūsų duomenų lapuose. Kiekvienas šio įrenginio gamintojas gali pateikti keletą reikšmių, kurios gali skirtis, todėl visada rekomenduoju perskaityti konkretaus įsigyto įrenginio gamintojo PDF. Nors dauguma vertybių jums gali atrodyti vienodos, viena nuo kitos gali šiek tiek skirtis. Svarbiausios jo techninės charakteristikos yra:
- 3,5v - 5v maitinimo šaltinis
- 2,5 mA srovės suvartojimas
- Skaitmeninis išėjimo signalas
- Temperatūros diapazonas nuo 0 ° C iki 50 ° C
- Tikslumas matuojant temperatūrą esant 25 ° C temperatūrai, kai svyruoja maždaug 2 ° C
- Temperatūros matavimo skiriamoji geba yra 8 bitų, 1 ºC
- Drėgmė gali būti nuo 20% iki 90%
- Tiksliai esant 5% RH drėgnumui, kai temperatūra yra 0-50ºC
- Skiriamoji geba yra 1% RH, ji negali pasižymėti žemesnėmis nei tai variantais
- „Mouser“ duomenų lapas
Kalbant apie duomenis, transliuojama skaitmeniniu būdu. Todėl nebūtina pereiti nuo analoginio prie skaitmeninio, kaip ir kituose jutikliuose. Tai apsunkino kodą rašyti „Arduino IDE“, tačiau šiuo atveju jo nereikia ir tai yra daug lengviau. Nors pats jutiklis yra analogiškas, tačiau jame yra konversijos atlikimo sistema ir jis gali būti tiesiogiai prijungtas prie „Arduino“ skaitmeninės įvesties.
Jutiklio analoginis signalas, kuris yra įtampos kitimas, paverčiamas skaitmeniniu formatu ir siunčiamas į „Arduino“ mikrovaldiklį. Jis perduodamas 40 bitų rėmelis kurie atitinka DHT11 užfiksuotą informaciją apie drėgmę ir temperatūrą. Pirmosios dvi 8 bitų grupės yra skirtos drėgmei, tai yra reikšmingiausios 16 šio kadro bitų. Tada likusios 2 likusios 8 bitų temperatūros grupės. Tai yra, jis turi du baitus drėgmei ir du batus temperatūrai. Pavyzdžiui:
0011 0101 0000 0010 0001 1000 0000 0000 0011 1001
Šiuo atveju 0011 0101 0000 0010 yra drėgmės vertė, o 0001 1000 0000 0000 yra temperatūra. Pirmoji dalis yra sveiko skaičiaus dalis, o antroji dalis - dešimtainiai kableliai. Kalbant apie 0011 1001, tai yra paskutiniai 8 bitai yra paritetas kad išvengtumėte klaidų. Tokiu būdu galite patikrinti, ar perduodant viskas yra teisinga. Ji atitinka ankstesnių bitų sumą, todėl, jei suma lygi paritetui, ji bus teisinga. Mano pateiktame pavyzdyje to nebūtų, nes, kaip matote, tai neatitinka ... Tai rodytų nesėkmę.
Kai tai bus žinoma, kitas techninis DHT11 lygis, į kurį reikėtų atkreipti dėmesį, yra kaiščiai. The kontaktus arba prisegti šio įrenginio yra paprasta, nes jame yra tik 4 iš jų. Vienas iš kaiščių skirtas energijai arba „Vcc“, kitas - įvesties / išvesties duomenims perduoti, NC jungtis, kuri neprisijungia, ir GND, skirta įžeminti.
Integracija su „Arduino“
Kai žinosite DHT11 kištuką ir taip pat „Arduino“ plokštę, jungtis yra labai paprasta. Atminkite, kad jei pasirinkote į PCB integruotą DHT11 modulį, kaiščiai bus trys, nes NC yra pašalintas, kad būtų lengviau. Viskas, ką jums reikia padaryti, tai prijungti žemės kaištį prie vieno iš „Arduino“ GND jungčių, kaip parodyta ankstesnio paveikslėlio diagramoje.
Kita vertus, maitinimo kaištis turėtų būti prijungtas prie 5v ryšys iš „Arduino“, taigi jutiklis bus visiškai maitinamas naudojant GND ir Vcc, bet dabar trūksta duomenų. Norėdami perduoti duomenis iš DHT11 jutiklio į „Arduino“ plokštę, galite naudoti bet kurį iš skaitmeninių įėjimų, pavyzdžiui, 7, kurie rodomi paveikslėlyje ... Dabar jūs turite viską pasiruošę naudoti, kai sukursite reikiamą kodą „Arduino IDE“ ...
Jei jutiklis yra toli nuo jūsų projekto ir ketinate naudoti ilgesnį nei 20 metrų kabelį, tada naudokite 5k atsparumą, didesniems laidams jis turėtų būti proporcingai didesnis. Atkreipkite dėmesį, kad jei naudojate 3,5 V, o ne 5 V maitinimą, kabelis neturėtų būti ilgesnis nei 20 cm dėl įtampos kritimo.
Atminkite, kad tai, ką jie rekomenduoja, yra matuoti kas 5 sekundes, nors mėginių ėmimo dažnis, kuriuo DHT11 gali veikti, yra didesnis, tačiau jei tai daroma dažniau, jis gali būti ne toks tikslus.
Kodas „Arduino IDE“
Eikite tiesiai į kodą, pasakykite tai „Arduino IDE“ galite naudoti daugybę esamų bibliotekų su funkcijomis, kurios palengvins jūsų gyvenimą naudojant DHT11. Pavyzdžiui, vienas iš jų yra tas, kuris teikia „Adafruit“. Atminkite, kad turime pradedančiųjų vadovą, kuris prasideda „Arduino“ PDF formatu atsisiųsti nemokamai iš čia ir tai gali jums padėti.
Įdiegę atitinkamą biblioteką, galite komentuoti įveskite kodą valdyti savo projekto temperatūros ir drėgmės jutiklį DHT11 su „Arduino“. Pavyzdžiui:
#include "DHT.h" const int DHTPin = 7; DHT dht(DHTPin, DHTTYPE); void setup() { Serial.begin(9600); Serial.println("Midiendo..."); dht.begin(); } void loop() { delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Fallo en la lectura del sensor DHT11"); return; } Serial.print("Humedad relativa: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperatura: "); Serial.print(t); Serial.print(" ºC "); }