Перейти к содержанию

Arduino DHT22 подключение датчика, распиновка

Arduino DHT22 подключение датчика

Как подключить датчик DHT22 к Arduino Uno с выводом температуры на OLED дисплей. Рассмотрим в этом обзоре распиновку и характеристики сенсора температуры и влажности воздуха для микроконтроллера Ардуино. Разберем примеры программ для измерения температуры и влажности с выводом информации на oled дисплей, вы можете использовать экран lcd, который мы использовали при подключении датчика DHT11.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • модуль датчика DHT22 / AM2302
  • дисплей OLED 128×64
  • светодиоды и резисторы
  • макетная плата
  • коннекторы
  • библиотека DHT.h и OLED_I2C.h

Дополнительные материалы на эту тему:

  1. Термометр на TM1637 Arduino с датчиком DHT22
  2. Подключение датчика температуры DHT11 к Ардуино
  3. Подключение датчика температуры LM35 к Ардуино

Большинство проектов на Arduino предполагают сбор данных об окружающей среде — например, с помощью метеостанций. В них обычно используется недорогой, но при этом неточный датчик DHT11, который довольно точно измеряет только температуру, а влажность лишь косвенно зависит от окружающей среды. Поэтому, если вам нужны действительно точные измерения, лучше использовать в проекте датчик DHT22.

Сенсор Arduino DHT22 распиновка, характеристики

Сенсор Arduino DHT22 распиновка, datasheet

Характеристики AM2302, DHT22 (datasheet)

  • Напряжение питания: 3 — 5 Вольт
  • Влажность (относительная %): 0 — 100%
  • Точность (влажность): +/- 2%
  • Температура: -40 — +150°C
  • Точность (температура): +/- 0,5°C
  • Максимальная частота измерений: 2 Гц (2 измерения в секунду)

Датчик AM2302 (DHT22) может получать питание от 3,3 до 6 В, это означает, что его можно использовать со всеми платами Arduino. Сенсор использует однопроводной протокол для связи, а диапазон измерений составляет от -40°C до 80°C, влажности — от 0 до 100%. Типичные погрешности составляют ±2% влажности и менее 0,5°C температуры. Модуль DHT22 обеспечивает самую высокую точность среди всех аналогичных датчиков.

Как подключить датчик температуры DHT22 Ардуино

Подключение датчика температуры DHT22 Ардуино

Схема подключения датчика температуры и влажности DHT22 не отличается от примера с сенсором DHT11, а программа отличается одной строкой, где мы указываем тип сенсора. После того, как вы собрали схему со светодиодами и DHT22 (AM2302), как показано на изображении выше — загрузите в микроконтроллер следующий простой пример программы с универсальной библиотекой DHT.h, которая подходит для этих двух моделей.

Скетч для датчика температуры и влажности DHT22


#include "DHT.h"
DHT dht(2, DHT11);

#define RED 12
#define BLUE  10

void setup() {
   dht.begin();
   Serial.begin(9600);
   pinMode(RED, OUTPUT);
   pinMode(BLUE, OUTPUT);
}

void loop() {
   float h = dht.readHumidity();
   float t = dht.readTemperature();

   Serial.print("Humidity: ");
   Serial.println(h);
   Serial.print("Temperature: ");
   Serial.println(t);

   if (t < 24) {digitalWrite(RED, LOW); digitalWrite(BLUE, HIGH);}
   if (t > 24) {digitalWrite(RED, HIGH); digitalWrite(BLUE, LOW);}
}

Подключение датчика DHT22 с дисплеем OLED

Подключение датчика DHT22 с OLED дисплеем

OLED 128×64 i2c Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
VDD 5V 5V 5V
SDA A4 A4 20
SCL A5 A5 21

Обратите внимание, что распиновка модуля может отличаться в зависимости от производителя. Если источник питания подключен неправильно, то датчик может выйти из строя. Модуль OLED дисплея подключается к Ардуино через шину i2c, расположенную на контактах SDA (A4) и SCL (A5) на платах Arduino Uno и Nano. При работе с платой Arduino Mega 2560 дисплей подключается к шине i2c на пинах SDA (20) и SCL (21).

Скетч для датчика DHT22 Arduino с дисплеем

#include "DHT.h"
DHT dht(2, DHT11);

#include "OLED_I2C.h"
OLED myOLED(SDA, SCL, 8);

extern uint8_t BigNumbers[];

void setup() {
   dht.begin();
   myOLED.begin();
}

void loop() {
   float h = dht.readHumidity();
   float t = dht.readTemperature();

   myOLED.setFont(MediumNumbers);
   myOLED.print(String(t), LEFT, 5);
   myOLED.update();

   myOLED.setFont(MediumNumbers);
   myOLED.print(String(h), LEFT, 25);
   myOLED.update();

   delay(1000);
}

Заключение. В этом обзоре мы рассмотрели, как подключить DHT22 к Arduino и основные характеристики сенсора. Мы представили несколько примеров программ для передачи информации с цифрового датчика на аппаратный монитор порта Arduino IDE и дисплей OLED 0,96 i2c. Существует множество проектов метеостанций с сенсором температуры и влажности вре22 (AM2302), которые можно сделать самостоятельно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

newzaym
➜