DHT11: всичко за сензора за измерване на температура и влажност

DHT11

Измерването на температурата и влажността е много често в много проекти за електронни производители. В „Направи си сам“ е обичайно да се налага да се измерват тези параметри, за да се контролират определени системи. Например, за да можете да създадете система за охлаждане, грижа за растенията или климатизация, която се стартира, ако температурата или влажността достигнат определена стойност. Но за да е възможно, ви е необходим сензор като DHT11.

На пазара има много сензори много различни температурни диапазони, с поддържани температурни диапазони или различни прецизности. Пример за това е LM35, един от най-популярните и използвани в електрониката. Има и други сензори за влажност, които действат чрез изменение на проводимостта, като AD22103KTZ от Analog Devices. Но ако искате да измерите и двата параметъра, може би устройството, което обсъждаме днес в тази статия, представлява много по-голям интерес ...

Какво е DHT11?

El DHT11 е прост сензор, който измерва температурата и влажността, всичко в едно. А) Да няма да се налага да купувате два сензора отделно. Цената му е около 2 евро, така че е доста евтина, въпреки че можете да го намерите и монтиран на модул (монтиран на печатни платки за лесна употреба), както е обичайно в този тип електронни компоненти за Arduino. В случая на платката той включва 5 кило омов издърпващ резистор и светодиод, който ни предупреждава за операцията.

DHT11 има висока надеждност и стабилност благодарение на калибрирания си цифров сигнал. Също така, ако погледнете неговия лист с данни, ще видите, че той има интересни функции, както ще видите в следващите раздели.

Подобни продукти

DHT22

Има продукт, подобен на DHT11, който може да ви заинтересува. то е DHT22. Освен това е интегриран датчик за температура и влажност, но в този случай цената му е малко по-висока, около 4 евро. Точността за измерване на температурата е 5% вариация също като DHT11, но за разлика от нея, тя измерва извън диапазона на влажност между 20 и 80%. Затова може да се интересувате от DHT22 за проекти, при които трябва да измерите влажността от 0 до 100%.

La честота на събиране на данни също е два пъти повече от DHT11, при DHT22 се вземат 2 проби в секунда вместо 1 проба в секунда от DHT11. Що се отнася до температурата, тя може да измерва от -40 ° C до + 125 ° C с по-голяма точност, тъй като може да измерва части от градуса, по-специално може да оцени вариации от плюс / минус 0,5 ° C.

Pinout, функции и лист с данни

DHT11 пиноут

Можете да намерите доста техническа информация за DHT11 във вашите таблици с данни. Всеки производител на това устройство може да предостави някои стойности, които могат да варират, така че винаги препоръчвам да прочетете PDF на конкретния производител на устройството, което сте закупили. Въпреки че повечето стойности може да изглеждат еднакви за вас, може да има някои незначителни вариации от едната към другата. Неговите най-важни технически характеристики са:

  • Захранване от 3,5v до 5v
  • Консумация на ток 2,5mA
  • Цифров изходен сигнал
  • Температурен диапазон от 0ºC до 50ºC
  • Точност за измерване на температура при 25 ° C от вариация от около 2 ° C
  • Разделителната способност за измерване на температурата е 8-битова, 1ºC
  • Влажността може да измерва от 20% RH до 90% RH
  • Точно за влажност от 5% RH за температури между 0-50ºC
  • Разделителната способност е 1% относителна влажност, не може да улови вариации под нея
  • Mouser Datasheet

По отношение на данните, излъчване в цифров вид. Следователно не е необходимо да преминавате от аналогов към цифров, както при другите сензори. Това усложни кода за писане в IDE на Arduino, но в този случай той не е необходим и е много по-лесен. Въпреки че самият сензор е аналогов, но включва система за извършване на преобразуването и може да бъде свързан директно към цифров вход на Arduino.

Аналоговият сигнал, който е вариация на напрежението, от сензора се преобразува в цифров формат, за да се изпрати към микроконтролера Arduino. Предава се през 40-битов кадър които съответстват на информацията за влажност и температура, заснета от DHT11. Първите две групи от 8 бита са за влажност, тоест най-значимите 16 бита от тази рамка. След това останалите 2 останали 8-битови групи за температура. Тоест има два байта за влажност и два байта за температура. Например:

0011 0101 0000001000011000 0000 0000

В този случай 0011 0101 0000 0010 е стойността на влажността, а 0001 1000 0000 0000 е температурата. Първата част е за целочислената част, а втората част е за десетични знаци. Що се отнася до 0011 1001, т.е. последните 8-битови са паритет за да се избегнат грешки. По този начин можете да проверите дали всичко е правилно по време на предавания. Той съответства на сумата от предишните битове, следователно, ако сумата е равна на паритета, тя ще бъде вярна. В примера, който съм дал, не би бил, защото, както виждате, не отговаря ... Това би означавало провал.

След като това е известно, следващото нещо на техническо ниво на DHT11, което трябва да се отбележи, са щифтовете. The контакти или пиноут на това устройство е просто, тъй като има само 4 от тях. Един от щифтовете е за захранване или Vcc, другият за I / O за предаване на данни, NC щифт, който не се свързва, и GND за земна връзка.

Интеграция с Arduino

Свързване на DHT11 с Arduino

След като познаете пиноут на DHT11 и също платката Arduino, връзката е много проста. Не забравяйте, че ако сте избрали модул DHT11, интегриран в печатната платка, щифтовете ще бъдат три, тъй като NC е премахнат, за да улесни нещата. Всичко, което трябва да направите, е да свържете заземяващия щифт към една от GND връзките на Arduino, както е показано на диаграмата в предишното изображение.

От друга страна, захранващият щифт трябва да бъде свързан 5v връзката от Arduino, по този начин сензорът ще бъде напълно захранван с GND и Vcc, но сега данните липсват. За да предадете данните от сензора DHT11 към платката Arduino, можете да използвате всеки от цифровите входове, като 7, който се появява на изображението ... Сега имате всичко готово да го използвате, след като сте създали необходимия код в IDE на Arduino ...

Ако сензорът е далеч във вашия проект и ще използвате кабел, по-дълъг от 20 метра, тогава използвайте 5k издърпващ резистор, за по-големи кабели той трябва да бъде пропорционално по-голям. Имайте предвид, че ако използвате 3,5v мощност вместо 5v, тогава кабелът не трябва да е по-дълъг от 20 см поради спада на напрежението.

Не забравяйте, че това, което те препоръчват, е правите измервания на всеки 5 секунди, въпреки че честотата на вземане на проби, при която DHT11 може да работи, е по-висока, но ако се прави по-често, може да не е толкова точна.

Код в IDE на Arduino

Отивайки направо към кода, кажете това в Arduino IDE можете да използвате редица съществуващи библиотеки с функции, които ще улеснят живота ви с DHT11. Например, един от тях е този, който осигурява Adafruit. Не забравяйте, че имаме ръководство за начинаещи, което започва с Arduino в PDF, което можете изтеглете безплатно от тук и може да ви помогне.

След като инсталирате съответната библиотека, можете да коментирате въведете кода за управление на сензора за температура и влажност DHT11 за вашия проект с Arduino. Например:

#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 ");
}


Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.