Подключение датчика влажности. Аrduino + dht22. Аrduino + dht11

СРАВНИТЕЛЬНАЯ ХАРАКТЕРИСТИКА ДАТЧИКОВ DHT11 И DHT22

ПараметрDHT11DHT22
Диапазон температуры0 — 50-40 — +125
Диапазон влажности20-80%0-100%
Частота выборки1,0 Hz0,5 Hz
Вольтаж3-5V3-5V
Ток2,5 mA2,5 mA

В продаже  ещё можно найти датчики DHT21 (AM2301) , немного дороже чем  DHT22 и имеют примерно те же параметры, но выполнен в корпусе для более жёских условий(улица). Потребление тока у этого датчика выше в 10 раз чем у DHT22 — примерно 1.36мА при 5в. Вес около 11 грамм.

Подключение датчика: Черный — GND, Красный — VCC, Желтый — DATA OUT.

ПОДКЛЮЧЕНИЕ DHT11  И DHT22 К ARDUINO

Датчик DHT имеет 4 вывода стандарта 2,54 мм:

1 — VDD (от 3В до 5 В);

2 — DATA (данные);

3 — NC;

4 — GND (общий).

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

СКЕТЧ ДЛЯ ЗАГРУЗКИ В ARDUINO — ПОДКЛЮЧЕНИЕ DHT11 К ARDUINO NANO

#include <FastIO.h>
#include <I2CIO.h>
#include <LCD.h>
#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <LiquidCrystal_SR.h>
#include <LiquidCrystal_SR2W.h>
#include <LiquidCrystal_SR3W.h>
#include <DHT.h>
 
#define DHTPIN 2 // к какому пину будет подключен сигнальный выход датчика
#define DHTTYPE DHT22 // DHT 22 (AM2302)
 
//инициализация датчика
DHT dht(DHTPIN, DHTTYPE);
 
byte temp[8] = //код иконки термометра
{
   0b01110,
   0b01010,
   0b01010,
   0b01010,
   0b01110,
   0b01110,
   0b01110,
   0b00000
};
  
byte hum[8] = //код иконки влажности
{
    B00100,
    B00100,
    B01010,
    B01010,
    B10001,
    B10001,
    B10001,
    B01110,
};
 
// Задаем адрес и размерность дисплея
LiquidCrystal_I2C  lcd(0x3F,2,1,0,4,5,6,7); 
 
void setup()
{
// Активируем LCD модуль
  lcd.begin (16,2); // for 16 x 2 LCD module
  lcd.setBacklightPin(3,POSITIVE);
  lcd.setBacklight(HIGH);
 
  lcd.createChar(1,temp);
  lcd.createChar(2,hum);
  
dht.begin();
}
 
void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();
 
// Выводим показания влажности и температуры
 
lcd.setCursor(0, 0);
lcd.print("Temp  ");
 lcd.write(1);
 lcd.setCursor(8, 0);
 lcd.print(t);
 lcd.print( (char)223);
 lcd.print("C");
 
lcd.setCursor(0, 1);
lcd.print("Hum   ");
  lcd.write(2);
  lcd.setCursor(8, 1);
  lcd.print(h);
  lcd.print(" %");
  delay(2000);
}

СКЕТЧ ДЛЯ ЗАГРУЗКИ В ARDUINO — ПОДКЛЮЧЕНИЕ DHT11 К ARDUINOUNO

#include "DHT.h" // подключаем библиотеку для датчика
 
DHT dht(2, DHT11); // сообщаем на каком порту будет датчик
 
void setup() // процедура setup
 
{
 
dht.begin(); // запускаем датчик влажности DHT11
 
Serial.begin(9600); // подключаем монитор порта
Serial.println("DHT TEST"); // пишем один раз
 
}
 
void loop() // процедура loop
 
{
 
// считываем температуру (t) и влажность (h) каждые 250 мс
 
float h = dht.readHumidity();
float t = dht.readTemperature();
 
// выводим температуру (t) и влажность (h) на монитор порта
 
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");
 
}

ПРИМЕРЫ ПОДКЛЮЧЕНИЙ ДАТЧИКОВ ВЛАЖНОСТИ К АРДУИНО

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: