Библиотека DHT Sensor Library

Библиотека для arduino

DHT Sensor Library — это библиотека для Arduino, которая используется в проектах с датчиками влажности и температуры DHT11, DHT21 (AM2301), DHT22 (AM2302, AM2321).

Скачать библиотеку DHT Sensor Library


Описание функций библиотеки DHT

Для работы библиотеки DHT Sensor Library необходимо дополнительно установить библиотеку Adafruit Unified Sensor:

Скачать Adafruit Unified Sensor

Подключение библиотеки

#include "DHT.h"

Подключение файла библиотеки DHT. Обычно вставляется вверху скетча.


Создание объекта DHT

DHT(uint8_t pin, uint8_t type)

Конструктор класса DHT. Создает объект для работы с датчиком. Необходимо передать контакт ардуино, к которому подключен датчик pin и его тип type. Для типов определены следующие макросы:

#define DHT11 11 // Для датчиков DHT11 
#define DHT12 12 // Для датчиков DHT12 
#define DHT22 22 // Для датчиков DHT22, AM2302 и AM2321 
#define DHT21 21 // Для датчиков DHT21 и AM2301

Чтобы начать работу с датчиком, сперва необходимо инициализировать объект класса DHT. Например, если подключить DHT11, то инициализация может выглядеть следующим образом:

DHT dht(2, DHT11); // 2-й контакт, тип - DHT11

или так:

#define DHTPIN 2           // Контакт ардуино, к которому подключен датчик
#define DHTTYPE DHT11      // Тип датчика

DHT dht(DHTPIN, DHTTYPE);  // Инициализация объекта для работы с датчиком

void setup() {
  dht.begin();   // Начало работы с датчиком
}

Получение значения температуры

float readTemperature(bool S)

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

Получить температуру в градусах по шкале Цельсия:

float t = dht.readTemperature();

Получить температуру в градусах по шкале Фаренгейта:

float f = dht.readTemperature(true);

Получение значения влажности

float readHumidity()

Возвращает значение влажности в процентах, полученное от датчика.

float h = dht.readHumidity();

Преобразование температуры из Цельсия в Фаренгейт

float convertCtoF(float c)

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

float tf = dht.convertCtoF(t);

Преобразование температуры из Фаренгейта в Цельсий

float convertFtoC(float f)

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

float ft = dht.convertFtoC(f);

Получение теплового индекса

float computeHeatIndex(float temperature, float percentHumidity, bool isFahrenheit)

Возвращает вычисленное значение теплового индекса, используя уравнения Ротфуза и Стедмана. Передаваемые параметры: температура temperature, влажность percentHumidity и единица измерения температуры isFahrenheit (false — шкала Цельсия, true — шкала Фаренгейта).

Передаем температуру в градусах Фаренгейта:

float hif = dht.computeHeatIndex(f, h);

Передаем температуру в градусах Цельсия:

float hic = dht.computeHeatIndex(t, h, false);
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии