Съдържание:

Измерване на влажност с помощта на HYT939 и Arduino Nano: 4 стъпки
Измерване на влажност с помощта на HYT939 и Arduino Nano: 4 стъпки

Видео: Измерване на влажност с помощта на HYT939 и Arduino Nano: 4 стъпки

Видео: Измерване на влажност с помощта на HYT939 и Arduino Nano: 4 стъпки
Видео: Измерение влажности воздуха в домашних условиях 2024, Ноември
Anonim
Image
Image

HYT939 е цифров сензор за влажност, който работи по I2C комуникационен протокол. Влажността е основен параметър, когато става въпрос за медицински системи и лаборатории, така че за да постигнем тези цели, се опитахме да свържем HYT939 с arduino nano. В този урок е показано взаимодействието на сензорния модул HYT939 с arduino nano.

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

Комуникационният протокол, по който работи сензорът, е I2C. I2C означава междуинтегрална схема. Това е комуникационен протокол, в който комуникацията се осъществява чрез линии SDA (серийни данни) и SCL (сериен часовник). Тя позволява свързване на няколко устройства едновременно. Това е един от най -простите и ефективни комуникационни протоколи.

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

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

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

1. HYT939

2. Arduino Nano

3. I2C кабел

4. I2C щит за Arduino nano

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

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

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

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

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

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

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

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

Arduino код за измерване на влажност
Arduino код за измерване на влажност
Arduino код за измерване на влажност
Arduino код за измерване на влажност

Нека започнем с кода на Arduinoo сега.

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

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

#включва

// HYT939 I2C адресът е 0x28 (40)

#define Addr 0x28

void setup ()

{

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

Wire.begin ();

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

Serial.begin (9600);

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

}

void loop ()

{

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

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

Wire.beginTransmission (Addr);

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

Wire.write (0x80);

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

Wire.endTransmission ();

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

// Изискване на 4 байта данни

Wire.requestFrom (Addr, 4);

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

// влажност msb, влажност lsb, temp msb, temp lsb

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

{

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

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

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

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

// Конвертираме данните в 14-бита

влажност на поплавъка = (((данни [0] & 0x3F) * 256.0) + данни [1]) * (100.0 / 16383.0);

float cTemp = (((данни [2] * 256.0) + (данни [3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;

float fTemp = (cTemp * 1.8) + 32;

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

Serial.print ("Относителна влажност:");

Serial.print (влажност);

Serial.println (" %RH");

Serial.print ("Температура в Целзий:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Температура по Фаренхайт:");

Serial.print (fTemp);

Serial.println ("F");

}

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

}

В библиотеката с проводници Wire.write () и Wire.read () се използват за писане на командите и четене на изхода на сензора. Следващата част от кода илюстрира отчитането на изхода на сензора.

// Прочетете 4 байта данни // влажност msb, влажност lsb, temp msb, temp lsb if (Wire.available () == 4) {data [0] = Wire.read (); данни [1] = Wire.read (); данни [2] = Wire.read (); данни [3] = Wire.read ();

}

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

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

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

HYT939 като ефективен цифров сензор за влажност се използват в медицински системи, автоклави. Системите за измерване на точката на оросяване и изсушаване също намират приложение на този сензорен модул. В различни лаборатории, където подходящото ниво на влажност е основен параметър за провеждане на експерименти, този сензор може да се използва там за измерване на влажност.

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