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.

Розсипка, особливості та таблиця даних

Розпіновка DHT11

Ви можете знайти досить багато технічної інформації про DHT11 у ваших таблицях даних. Кожен виробник цього пристрою може надати деякі значення, які можуть відрізнятися, тому я завжди рекомендую прочитати PDF конкретного виробника придбаного вами пристрою. Незважаючи на те, що більшість значень можуть здаватися вам однаковими, можуть бути незначні відхилення від одного до іншого. Його найважливішими технічними характеристиками є:

  • Живлення від 3,5 до 5 в
  • Споживання струму 2,5 мА
  • Цифровий вихідний сигнал
  • Діапазон температур від 0 ° C до 50 ° C
  • Точність вимірювання температури при 25ºC, коливання приблизно 2ºC
  • Роздільна здатність для вимірювання температури становить 8 біт, 1ºC
  • Вологість може становити від 20% до 90% вологості
  • Точно для вологості 5% вологості при температурах від 0-50ºC
  • Роздільна здатність становить 1% відносної вологості, вона не може підбирати варіації нижче цього
  • Таблиця даних Mouser

Щодо даних, мовлення в цифровому форматі. Тому не потрібно переходити від аналогового до цифрового, як в інших датчиках. Це ускладнило написання коду в IDE Arduino, але в цьому випадку це не потрібно, і це набагато простіше. Хоча сам датчик є аналоговим, але він включає систему для виконання перетворення і може бути підключений безпосередньо до цифрового входу Arduino.

Аналоговий сигнал, який є зміною напруги, від датчика перетворюється в цифровий формат для передачі на мікроконтролер Arduino. Це передається в 40-бітний кадр які відповідають інформації про вологість та температуру, записану DHT11. Перші дві групи 8-бітових призначені для вологості, тобто найбільш значущих 16 біт цього кадру. Потім інші 2 8-бітові групи, що залишилися по температурі. Тобто він має два байти для вологості та два байти для температури. Наприклад:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

У цьому випадку 0011 0101 0000 0010 - це значення вологості, а 0001 1000 0000 0000 - температура. Перша частина призначена для цілочисельної частини, а друга частина - для десяткових знаків. Що стосується 0011 1001, тобто останні 8-бітні - це паритет щоб уникнути помилок. Таким чином ви можете перевірити, чи все правильно під час передач. Це відповідає сумі попередніх бітів, тому, якщо сума дорівнює парності, вона буде правильною. У наведеному мною прикладі цього не було б, оскільки, як бачите, це не відповідає ... Це означало б помилку.

Як тільки це стане відомо, наступним на технічному рівні DHT11, на що слід звернути увагу, є шпильки. контакти або розпинання цього пристрою є простим, оскільки він має лише 4 з них. Один з контактів призначений для живлення або Vcc, інший для введення / виводу для передачі даних, штифт NC, який не підключається, і GND для заземлення.

Інтеграція з Arduino

Підключення DHT11 до Arduino

Як тільки ви дізнаєтеся про розпилювання DHT11, а також плата Arduino, підключення дуже просте. Пам'ятайте, що якщо ви вибрали модуль DHT11, інтегрований у друковану плату, контактів буде три, оскільки NC видаляється для полегшення ситуації. Все, що вам потрібно зробити, - це підключити штифт заземлення до одного із GND-з'єднань Arduino, як це показано на схемі на попередньому зображенні.

З іншого боку, слід підключити шнур живлення підключення 5v від Arduino, таким чином, датчик буде повністю живитись GND та Vcc, але зараз дані відсутні. Для передачі даних з датчика DHT11 на плату Arduino ви можете використовувати будь-який з цифрових входів, наприклад 7, що відображається на зображенні ... Тепер у вас є все готове для використання, як тільки ви створили необхідний код в IDE Arduino ...

Якщо датчик знаходиться далеко у вашому проекті, і ви збираєтеся використовувати кабель довжиною більше 20 метрів, тоді використовуйте підтягуючий резистор на 5 КБ, для більших кабелів він повинен бути пропорційно більшим. Зверніть увагу, що якщо ви використовуєте потужність 3,5 В замість 5 В, то кабель не повинен бути довшим 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. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

Тест з англійської мовиТест каталонськаіспанська вікторина