Урок №6 Замеряем уровень температуры и влажности
На этом занятии мы познакомимся с цифровым датчиком температуры и влажности DTH22 с трех пиновым разъемом стандарта 2.54 мм.

Описание
Рассмотрим устройство и назначение датчиков влажности и температуры. Расскажем, как подключить датчик температуры и влажности к Ардуино, как получить данные с датчика а мониторе порта. Научимся добавлять библиотеки для датчиков и плат расширений Arduino.

Сенсор DHT22:

Сенсор температуры и влажности состоит из двух частей — емкостного датчика влажности и термистора. Чип, находящийся внутри, выполняет аналого-цифровое преобразование и выдает цифровой сигнал, который можно считать с помощью любого микроконтроллера.

  • определение влажности в диапазоне 0-100%
  • определение температуры от -40°C до +125°C
  • частота опроса 1 раз в 2 секунды

Датчики DHT имеют стандартные выводы и их просто установить на breadboard.

Датчики DHT имеют 3 вывода:
  1. питание (+)
  2. вывод данных (out)
  3. земля (-)
Между выводами питания и вывода данных нужно разместить резистор номиналом 10 кОм.

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

Для Работы нам понадобится библиотека DHT.h, созданной специально для датчиков DHT. Ее мы скачали на первом уроке – если вы пропустили этот шаг, то вернитесь и поместите скачанную папку в в папку C:\Users\User\Documents\Arduino\libraries

На схеме сигнальный порт «out» находится внизу третьим, и он подключается к пин №2

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

Минус подключается к GND

Плюс к питанию 5V

Подключение
Что нам понадобится?
Достаньте и подготовьте необходимые детали из коробки.
Arduino Uno
Мозг нашей схемы
Популярный микроконтроллер, его мощности достаточно пока нам для начальных экспериментов
Светодиод
Любого цвета
Длинная ножка на положительно заряженный, короткая на отрицательно
Макетная плата
на 400 точек
Соединения идут параллельно, плата разделена на 2 части горизонтальной линией
Резистор
На 10 кОм
О резисторах подробно мы подробно поговорим чуть ниже в разделе "Базовые знания"
Скетч
/*Набор ESP32 IoT Tepliza by Starkid.kz
 * 6 урок. Датчик температуры и влажности DHT22
 * Считываем данные с датчика DHT22. И выводим их в seril monitor.
 * Автор Ермеков Рустем
 * Дата: 11.02.2019 г
*/

#include "DHT.h" // использование бибилиотеки DHT
#define DHTPIN 2 // номер пина, к которому подсоединен датчик
DHT dht(DHTPIN, DHT22);

void setup() {
Serial.begin(9600);
dht.begin();
}

void loop() {
// Задержка 2 секунды между измерениями
delay(2000);

//Считываем влажность
float h = dht.readHumidity();
// Считываем температуру
float t = dht.readTemperature();
// Проверка удачно прошло ли считывание.
if (isnan(h) || isnan(t)) {
Serial.println("Не удается считать показания");
return;
}
  Serial.print("Влажность: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Температура: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.println();
}
Показания температуры и влажности (Монитор порта)

Вы должны увидеть температуру и влажность. Изменения можно увидеть, например, выдыхая на датчик (как для затуманивания окна). Дыхание увеличивает влажность.
Загрузите скетч в контроллер и проверьте правильность работы при помощи Сервис->Монитор порта:
Вопросы и задания
  1. Какую команды выполняет функция #include в этом коде?
  2. Как вы думаете какую функцию играет Serial.println() в конце кода? Попробуйте запустить код без него.
  3. Если проверка пройдет неудачно – какой текст должен появится?
  4. Придумайте 3 применения для датчика температуры и влажности в жизни.