ESPsmart » Блог » Подключение датчика AM2302 к ESP8266
Приглашаем всех желающих, принять участие в тестировании системы управления микроконтроллерами ESP8266/ESP32. Принять участие.

Подключение датчика AM2302 к ESP8266

Подключение датчика AM2302 к ESP8266


Нужно замедлить или ускорить высыхание продуктов или материалов? Создать парниковый эффект в теплице или поддерживать в инкубаторе подходящие условия для выращивания птенцов? Во всех этих и многих других случаях необходимо поддерживать определенную температуру и влажность воздуха.

Что такое влажность?

Это показатель того, сколько водяного пара присутствует в воздухе в момент измерения. В сырой среде большой процент количества молекул воды, чем в сухой. Чем она теплее, тем выше содержание пара может быть.

В чем разница между абсолютной и относительной влажностью?

Абсолютная – измеряется тем, сколько водяного пара растворено в 1 м3 воздуха. Это понятие называют еще влагосодержанием.

Относительная – показывает, насколько среда не соответствует значению максимального количества влаги, которое могло бы в ней быть при температуре на момент измерения. Это то, насколько она насыщена сыростью.

Относительный показатель зависит от абсолютного – это соотношение фактического влагосодержания к наибольшему из возможных. Измеряется в процентах.

Точка росы – это уровень понижения температуры, при котором водяной пар становится концентрированным и конденсируется в росу. Это происходит, когда в среде растворяется больше водяных паров, чем максимально может в ней содержаться при температуре на тот момент. Тогда образуется избыток сырости, который конденсируется на более холодных поверхностях, чем точка росы или на равных ей.

Оптимальная влажность воздуха в помещении

Когда нужно подобрать подходящую степень влажности в помещении, ориентируются на относительный ее показатель. Комфортным для человека этот параметр считается в 40-60%. Зимой для помещений нормальный уровень – 30-45%.

Также предел допустимого содержания влаги в помещении зависит от того, для чего оно используется: если это теплица, то воздух должен быть более сырым, а на складе фармацевтической продукции сухим.

Для того чтобы постоянно поддерживать нужную степень содержания водяного пара используют автоматизированные системы контроля климатом, которые по мере необходимости увлажняют или осушают воздух. При создании таких систем можно использовать датчик влажности АМ 2302, который постоянно считывает, сколько водяного пара присутствует в окружающей среде.

Напряжение: 3.3-5.5 В
Температура: -40 ~ +80 ℃
Влажность: 0 ~ 99,9%
Погрешность температуры: ± 0.5 ℃
Погрешность влажности: ± 2%
Выходной сигнал: Одиночная шина цифровой сигнал



Датчик измерения температуры и влажности AM2302 - это композитный датчик с калиброванным цифровым выходным сигналом. Он использует специальную технологию измерения температуры и влажности, чтобы обеспечить высокую надежность и превосходную долговременную стабильность. Датчик состоит из емкостного чувствительного элемента и высокоточного элемента измерения температуры NTC, подключенного к высокопроизводительному 8-разрядному микроконтроллеру. Датчик обладает быстрым откликом и сильной помехоустойчивости. Каждый датчик калибруется в камере калибровки влажности. Калибровочные коэффициенты сохраняются в микроконтроллере в виде программы, и эти калибровочные коэффициенты вызываются изнутри во время обработки сигнала обнаружения. Датчик обладает низким энергопотреблением. Максимальное расстояние передачи сигнала составляет до 20 метров.

1. Подсоединяем датчик к ESP8266, согласно схеме ниже



2. Подключаем библиотеку DHT sensor library




3. Загружаем скетч, проверяем, что скорость установлена 115200. Смотрим "Монитор порта"


#include "DHT.h"       // Подключаем библиотеку DHT sensor library
#define DHTPIN 14     // Указываем pin, к которому подключен датчик
#define DHTTYPE DHT22   // DHT 22  (AM2302)

DHT am2303(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  am2303.begin();
}

void loop() {
  delay(2000); // Устанавливаем задержку 2 сек
  float h = am2303.readHumidity(); // Получаем влажность
  float t = am2303.readTemperature(); // Получаем температуру в Цельсиях

  // проверяем, что приходят корректные данные
  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  float hic = am2303.computeHeatIndex(t, h, false); // Получаем тепловой индекс

  //выводим информацию в "Монитор порта"
  Serial.print("Влажность: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Температу: ");
  Serial.print(t);
  Serial.println(" *C ");
  Serial.print("Ощущается как: ");
  Serial.print(hic);
  Serial.println(" *C ");
}
Скачать файл: sensor-am2303.ino [1,21 Kb] (cкачиваний: 56)

Оставить комментарий