Основні характеристики датчика DHT22:
тип: AM2302 цифровий
точність: 0.1 ºC
діапазон вимірювання вологості: 0-100%
діапазон виміру температури: -40 ~ +80 ºC
точність вимірювання вологості: ± 2% RH
точність вимірювання температури: ± 0.5 ºC
частота опитування датчика не більше 0,5 Гц (не частіше разу в 2 секунди)
напруга живлення: 3.3-6.0 В
кількість виводів: 3/4
вбудований АЦП
ультранизьке енергоспоживання
не вимагає обв'язки
здатний працювати при досить довгому дроті
* Більш повна інформація в даташиті.
Чотирьох-контактний датчик DHT22 (Сам датчик)
SDA – контакт для обміну даними між датчиком і мікроконтроллером
VDD – напруга живлення
GND – загальний контакт
NC - не використовується
Трьох-контактний датчик DHT22 (Датчик на платці з "обв'язкою")
+ – напруга живлення
OUT – контакт для обміну даними між датчиком і мікроконтроллером
- – загальний контакт
Для роботи з датчиками DHT11/DHT22 необхідно встановити бібліотеку DHT-sensor-library (її необхідно перейменувати у DHT і поміститу у папку libraries (у мене: Документи - ArduinoData - staging - libraries), або використати іншу стандартну.
Далі можна завантажити готовий скетч
Код: Виділити все
/* https://radioman.com.ua/viewtopic.php?f=8&t=42 */
#include "DHT.h" // Підключення бібліотеки
#define DHTPIN 2 // Номер піна даних
DHT dht(DHTPIN, DHT22); // Ініціалізація датчика
//DHT dht(DHTPIN, DHT11); // Для датчика DHT11
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop()
{
delay(2000); // 2 секунди затримки
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.println(" *C ");
}