Съдържание:

Измерване на температура и влажност с помощта на HDC1000 и частичен фотон: 4 стъпки
Измерване на температура и влажност с помощта на HDC1000 и частичен фотон: 4 стъпки

Видео: Измерване на температура и влажност с помощта на HDC1000 и частичен фотон: 4 стъпки

Видео: Измерване на температура и влажност с помощта на HDC1000 и частичен фотон: 4 стъпки
Видео: SCP-261 Пан-мерное Торговый и эксперимент Войти 261 объявление Де + полный + 2024, Юли
Anonim
Image
Image

HDC1000 е цифров сензор за влажност с вграден температурен сензор, който осигурява отлична точност на измерване при много ниска мощност. Устройството измерва влажността въз основа на нов капацитивен сензор. Сензорите за влажност и температура са фабрично калибрирани. Той е функционален в пълния температурен диапазон от -40 ° C до +125 ° C.

В този урок е илюстрирано взаимодействието на сензорния модул HDC1000 с фотон на частици. За да прочетете стойностите на температурата и влажността, използвахме частици с адаптер I2c, който прави връзката с сензорния модул лесна и по -надеждна.

Стъпка 1: Изисква се хардуер:

Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер
Необходим хардуер

Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:

1. HDC1000

2. Фотон от частици

3. I2C кабел

4. I2C щит за частичен фотон

Стъпка 2: Свързване на хардуера:

Хардуерно свързване
Хардуерно свързване
Хардуерно свързване
Хардуерно свързване

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

HDC1000 ще работи над I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.

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

Всичко, от което се нуждаете, са четири проводника! Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.

Тези връзки са показани на снимките по -горе.

Стъпка 3: Код за измерване на температура и влажност:

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

Нека започнем с кода на частиците сега.

Докато използваме сензорния модул с частицата, ние включваме библиотеката application.h и spark_wiring_i2c.h. Библиотеката "application.h" и spark_wiring_i2c.h съдържа функциите, които улесняват i2c комуникацията между сензора и частицата.

Целият код на частиците е даден по -долу за удобство на потребителя:

#включва

#включва

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

#define Addr 0x40

двоен cTemp = 0.0, fTemp = 0.0, влажност = 0.0;

int temp = 0, hum = 0;

void setup ()

{

// Задаване на променлива

Particle.variable ("i2cdevice", "HDC1000");

Particle.variable ("влажност", влажност);

Particle.variable ("cTemp", cTemp);

// Инициализиране на I2C комуникация

Wire.begin ();

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

Serial.begin (9600);

// Стартиране на I2C предаване

Wire.beginTransmission (Addr);

// Изберете конфигурационен регистър

Wire.write (0x02);

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

Wire.write (0x30);

// Спиране на I2C предаването

Wire.endTransmission ();

забавяне (300);

}

void loop ()

{

беззнакови int данни [2];

// Стартиране на I2C предаване

Wire.beginTransmission (Addr);

// Изпращане на команда за измерване на темп

Wire.write (0x00);

// Спиране на I2C предаването

Wire.endTransmission ();

забавяне (500);

// Искане на 2 байта данни

Wire.requestFrom (Addr, 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 (Addr);

// Изпращане на команда за измерване на влажност

Wire.write (0x01);

// Спиране на I2C предаването

Wire.endTransmission ();

забавяне (500);

// Искане на 2 байта данни

Wire.requestFrom (Addr, 2);

// Прочетете 2 байта данни

// temp msb, temp lsb

ако (Wire.available () == 2)

{

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

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

}

// Конвертиране на данните

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

влажност = (бръмчене / 65536,0) * 100,0;

// Извеждане на данни към таблото за управление

Particle.publish ("Относителна влажност:", низ (влажност));

забавяне (1000);

Particle.publish ("Температура в Целзий:", Низ (cTemp));

забавяне (1000);

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

забавяне (1000);

}

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

Изходът на сензора е показан на снимката по -горе за ваша справка.

Стъпка 4: Приложения:

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

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

Препоръчано: