В этой статье мы рассмотрим еще один датчик влажности и температуры от TI - на этот раз это HDC2080, который мы подключим к ESP32, в данном случае к Wemos Lolin32, но вы можете использовать любой модуль на основе ESP32.

Устройство HDC2080 представляет собой встроенный датчик влажности и температуры, который обеспечивает высокую точность измерений при очень низком энергопотреблении в небольшом корпусе DFN. Емкостный датчик включает новые встроенные цифровые функции и нагревательный элемент для отвода конденсата и влаги. Цифровые функции HDC2080 включают в себя программируемые пороги прерываний для обеспечения предупреждений и пробуждения системы без необходимости непрерывного мониторинга системы микроконтроллером. При сочетании с программируемыми интервалами дискретизации, низким энергопотреблением и поддержкой напряжения питания 1,8 В, HDC2080 предназначен для систем с батарейным питанием.
HDC2080 обеспечивает высокую точность измерений для широкого спектра приложений мониторинга окружающей среды и Интернета вещей (IoT), таких как интеллектуальные термостаты и умные домашние помощники. Для конструкций, где область печатных плат является критической, доступна опция с компактным корпусом CSP в версии HDC2010 с полной программной совместимостью с HDC2080.
Для приложений с жесткими ограничениями по энергопотреблению автоматический режим измерения позволяет HDC2080 автоматически инициировать измерения температуры и влажности. Эта функция позволяет пользователям настраивать микроконтроллер в режим глубокого сна, поскольку так HDC2080 больше не зависит от микроконтроллера для запуска измерений.
Программируемые пороговые значения температуры и влажности в HDC2080 позволяют устройству отправлять аппаратное прерывание, чтобы при необходимости активировать микроконтроллер. Кроме того, в этом случае энергопотребление HDC2080 значительно снижается, что помогает свести к минимуму самонагрев и повысить точность измерений. HDC2080 откалиброван на заводе с точностью по температуре до 0,2 ° C и с точностью по относительной влажности 2%.

Характеристики HDC2080:
- Диапазон относительной влажности: от 0% до 100%
- Точность влажности: ± 2% (стандартная), ± 3% (максимальная)
- Точность температуры: ± 0,2 ° C (стандартная), ± 0,4 ° C (максимум)
- Ток в спящем режиме: 50 нА (стандартно), 100 нА (максимум)
- Средний потребляемый ток (1 измерение в секунду):
- 300 нА: только относительная влажность (11 бит)
- 550 нА: относительная влажность % (11 бит) + температура (11 бит)
- Эксплуатационная температура: от –40 ° C до 85 ° C
- Функциональная температура: от –40 ° C до 125 ° C
- Диапазон напряжения питания: от 1,62 В до 3,6 В
Схема подключения ESP32 к датчику температуры и влажности HDC2080 показана далее.

Теперь необходимо запрограммировать ESP32 с помощью приведенного далее кода. В программе используется специальная библиотека для HDC2080 (github.com/tinkeringtech/HDC2080_breakout).
#include <HDC2080.h>
#define ADDR 0x40
HDC2080 sensor(ADDR);
float temperature = 0, humidity = 0;
void setup() {
Serial.begin(9600);
Serial.println("TinkeringTech HDC2080 Test");
// Инициализация связи I2C
sensor.begin();
// Начнем со сброса устройства
sensor.reset();
// Настроим зону комфорта
sensor.setHighTemp(48); // Высокая температура 28C
sensor.setLowTemp(2); // Низкая температура 22С
sensor.setHighHumidity(95); // Высокая влажность 55%
sensor.setLowHumidity(10); // Низкая влажность 40%
// Настроим измерения
sensor.setMeasurementMode(TEMP_AND_HUMID); // Установим измерения для температуры и влажности
sensor.setRate(ONE_HZ); // Установим частоту измерения на 1 Гц
sensor.setTempRes(FOURTEEN_BIT);
sensor.setHumidRes(FOURTEEN_BIT);
// начать измерения
sensor.triggerMeasurement();
}
void loop() {
Serial.print("Temperature (C): ");
Serial.print(sensor.readTemp());
Serial.print("\t\tHumidity (%): ");
Serial.println(sensor.readHumidity());
// Подождем пару секунд до следующего измерения
delay(2000);
}
Откройте последовательный монитор, и вы должны увидеть что-то вроде этого:
Temperature (C): 23.75 Humidity (%): 46.44
Temperature (C): 23.82 Humidity (%): 46.40
Temperature (C): 23.79 Humidity (%): 46.43
Temperature (C): 23.79 Humidity (%): 46.39
Temperature (C): 23.79 Humidity (%): 46.41
Temperature (C): 23.80 Humidity (%): 46.39
© digitrode.ru