Как подключить датчик DHT11 к Ардуино

Если по проекту пользователю необходимо проводить мониторинг температуры и влажности, то ему следует использовать для их измерения соответствующие датчики. Поэтому нужно знать, как осуществить для сенсора DHT11 подключение к «Ардуино». Данный датчик является не только учебным, но востребован и в практической сфере применения.

Сфера использования

Область применения определяется исходя из технических возможностей датчика. Быстродействие и точность сенсора характеризуются как невысокие в случае его профессионального использования. Но, учитывая малую стоимость устройства и легкость в эксплуатации, датчик необходим для:

  • изготовления домашних поделок;
  • создания проектов умного дома и любительских метеостанций;
  • домашних и дачных теплиц и парников;
  • учебных и др. целей.

Сенсор подключается и совместим не только с Arduino Nano, но и моделями Uno или Mega. Если DHT11 покупается через интернет-магазин, рекомендуется приобретать набор из 37 датчиков и других компонентов стоимостью в пределах 37$. В таком случае пользователь получает полноценный конструктор для приобретения навыков и изучения основ робототехники.

Модель Arduino Nano

Характеристики устройства

Параметры сенсорного датчика DHT11:

  • частота снятия показаний: 1 раз в секунду;
  • измерение влажности: от 20 до 80%;
  • измерение температуры: от 0°C до +50°C;
  • питание: 3-5 В;
  • размеры: 30×14 x6 мм.

Устройство датчика DHT11

Он выполнен из 2 частей:

  • термистора;
  • гигрометра.

Внутри устройства находится чип, который последовательно выполняет следующие функции:

  1. Производит аналого-цифровое преобразование.
  2. Выдает цифровой сигнал, который считывается с помощью любого микроконтроллера.

Датчик температуры и влажности DHT11 продается в двух вариантах исполнения:

  1. В виде отдельного устройства в пластиковом корпусе с металлическими контактами.
  2. В виде готового модуля с припаянными элементами обвязки.

Конструкция датчика

Последний вариант рекомендуется как выбор для начинающих, и его удобно использовать в действующих проектах.

Распиновка и принципиальная схема подключения

Распиновка DHT11 Arduino несложная. Сам сенсор обладает 4 коннекторами:

  • 1: питание (vcc): + 3 — 5 V;
  • 2: вывод данных;
  • 3: не подключается;
  • 4: заземление.

Если на порт ввода не поступает сигнал, то с помощью резистора подтяжки на 10 кОм можно задать порту нужное состояние.

Для работы с модулем необходима библиотека. Она позволяет облегчить работу над проектами, не тратя время на мелкие детали, а сосредоточившись на основной логике. В базе данных программный код хранится не в скетче, а во внешних файлах, которые можно подключить к проекту. Скачанную или установленную базу данных нужно добавить в соответствующую папку Arduino IDE.

Подключение сенсорного датчика осуществляется через 3-пиновый разъем:

  1. К пину GND — «G».
  2. К пину +5V — «V».
  3. К цифровому выводу — «S».

Подключение датчика влажности

Пример программного кода:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
#include <dht.h>    // Добавляем библиотеку DHT11
 
#define DHT11_PIN 4 // Датчик DHT11 подключен к цифровому пину номер 4
 
dht11 DHT;          // Объявление переменной класса dht11
 
void setup(){
    Serial.begin(9600);                    // Скорость работы порта
    Serial.println("DHT TEST PROGRAM ");   // Выводим текст
    Serial.print("LIBRARY VERSION: ");     // Выводим текст
    Serial.println(DHT11LIB_VERSION);
	Serial.println();
}
 
void loop(){
    int chk;
	chk = DHT.read(DHT11_PIN); // Чтение данных
 
	switch (chk){
	    case DHTLIB_OK:
		    break;
 
		case DHTLIB_ERROR_CHECKSUM:
		    Serial.println("Checksum error, \t");
			break;
 
		case DHTLIB_ERROR_TIMEOUT:
		    Serial.println("Time out error, \t");
			break;
 
	    default:
		    Serial.println("Unknown error, \t");
			break;
	}
 
    // Выводим показания влажности и температуры
	Serial.print("Humidity = ");
	Serial.print(DHT.humidity, 1);
	Serial.print(", Temp = ");
	Serial.println(DHT.temperature,1);
	delay(1000);
}

Для начала работы необходимо открыть монитор последовательного порта. На дисплей будут выводиться полученные значения влажности и температуры:

DHT TEST PROGRAM

LIBRARY VERSION: 0.4.1

Humidity = 41, temp = 31

Humidity = 41, temp = 31

Humidity = 41, temp = 31

Humidity = 41, temp = 31

Humidity = 40, temp = 31

Humidity = 40, temp = 31

Humidity = 41, temp = 32

Humidity = 41, temp = 31

Выводить показатели можно не только на компьютер, но и на экран, который будет управляться по интерфейсу I2C. Для его подключения требуется 4 линии:

  • питание;
  • для данных SDA (SerialDAta);
  • для тактирования SCL;
  • заземление (SerialCLock).

Пример программного кода можно взять на странице Zelectro-сообщества.

Ссылка на основную публикацию