Оглавление:

Измерение температуры и влажности с помощью HDC1000 и Particle Photon: 4 шага
Измерение температуры и влажности с помощью HDC1000 и Particle Photon: 4 шага

Видео: Измерение температуры и влажности с помощью HDC1000 и Particle Photon: 4 шага

Видео: Измерение температуры и влажности с помощью HDC1000 и Particle Photon: 4 шага
Видео: Качественные датчики температуры и влажности HDC1080, первый взгяд 2024, Ноябрь
Anonim
Image
Image

HDC1000 - это цифровой датчик влажности со встроенным датчиком температуры, который обеспечивает превосходную точность измерения при очень малой мощности. Устройство измеряет влажность на основе нового емкостного датчика. Датчики влажности и температуры откалиброваны на заводе. Он работает в полном диапазоне температур от -40 ° C до + 125 ° C.

В этом руководстве показано взаимодействие модуля датчика HDC1000 с фотоном частицы. Для считывания значений температуры и влажности мы использовали частицу с адаптером I2C. Этот адаптер I2C делает подключение к модулю датчика простым и надежным.

Шаг 1: Требуемое оборудование:

Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование

Материалы, которые нам нужны для достижения нашей цели, включают следующие компоненты оборудования:

1. HDC1000

2. Частичный фотон

3. Кабель I2C

4. I2C Shield для фотонов частиц

Шаг 2: Подключение оборудования:

Подключение оборудования
Подключение оборудования
Подключение оборудования
Подключение оборудования

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

HDC1000 будет работать по I2C. Вот пример схемы подключения, демонстрирующий, как подключить каждый интерфейс датчика.

Изначально плата настроена для интерфейса I2C, поэтому мы рекомендуем использовать это подключение, если вы не сторонник этого.

Все, что вам нужно, это четыре провода! Требуются только четыре соединения, выводы Vcc, Gnd, SCL и SDA, которые подключаются с помощью кабеля I2C.

Эти соединения показаны на рисунках выше.

Шаг 3: Код для измерения температуры и влажности:

Код для измерения температуры и влажности
Код для измерения температуры и влажности

Начнем с кода частицы.

При использовании сенсорного модуля с частицей мы включаем библиотеки application.h и spark_wiring_i2c.h. Библиотека application.h и spark_wiring_i2c.h содержит функции, которые облегчают обмен данными i2c между датчиком и частицей.

Полный код частицы приведен ниже для удобства пользователя:

#включают

#включают

// I2C-адрес HDC1000 0x40 (64)

#define Addr 0x40

double cTemp = 0,0, fTemp = 0,0, влажность = 0,0;

int temp = 0, hum = 0;

установка void ()

{

// Устанавливаем переменную

Particle.variable («i2cdevice», «HDC1000»);

Particle.variable («влажность», влажность);

Particle.variable ("cTemp", cTemp);

// Инициализируем связь I2C

Wire.begin ();

// Инициализируем последовательную связь, устанавливаем скорость передачи = 9600

Serial.begin (9600);

// Запуск передачи I2C

Wire.beginTransmission (адрес);

// Выбираем регистр конфигурации

Wire.write (0x02);

// Температура, влажность включены, разрешение = 14 бит, нагреватель включен

Wire.write (0x30);

// Остановка передачи I2C

Wire.endTransmission ();

задержка (300);

}

пустой цикл ()

{

данные типа int без знака [2];

// Запуск передачи I2C

Wire.beginTransmission (адрес);

// Отправляем команду измерения температуры

Wire.write (0x00);

// Остановка передачи I2C

Wire.endTransmission ();

задержка (500);

// Запрос 2 байта данных

Wire.requestFrom (Адрес, 2);

// Считываем 2 байта данных

// temp msb, temp lsb

если (Wire.available () == 2)

{

данные [0] = Wire.read ();

данные [1] = Wire.read ();

}

// Конвертируем данные

temp = ((данные [0] * 256) + данные [1]);

cTemp = (temp / 65536.0) * 165.0 - 40;

fTemp = cTemp * 1,8 + 32;

// Запуск передачи I2C

Wire.beginTransmission (адрес);

// Отправляем команду измерения влажности

Wire.write (0x01);

// Остановка передачи I2C

Wire.endTransmission ();

задержка (500);

// Запрос 2 байта данных

Wire.requestFrom (Адрес, 2);

// Считываем 2 байта данных

// temp msb, temp lsb

если (Wire.available () == 2)

{

данные [0] = Wire.read ();

данные [1] = Wire.read ();

}

// Конвертируем данные

hum = ((данные [0] * 256) + данные [1]);

влажность = (hum / 65536.0) * 100.0;

// Выводим данные в дашборд

Particle.publish («Относительная влажность:», String (влажность));

задержка (1000);

Particle.publish («Температура в градусах Цельсия:», String (cTemp));

задержка (1000);

Particle.publish («Температура по Фаренгейту:», String (fTemp));

задержка (1000);

}

Функция Particle.variable () создает переменные для хранения выходных данных датчика, а функция Particle.publish () отображает выходные данные на панели инструментов сайта.

Выходной сигнал датчика показан на рисунке выше для справки.

Шаг 4: Приложения:

Приложения
Приложения

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

Рекомендуемые: