Съдържание:

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

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

Видео: Измерване на влажност с помощта на HYT939 и Raspberry Pi: 4 стъпки
Видео: Linptech ES1 - microwave presence sensor for mihome, Home Assistant Gateway 3 integration 2024, Ноември
Anonim
Image
Image

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

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

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

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

Хардуерът, който е необходим за изпълнение на задачата, е както следва:

1. HYT939

2. Малина Пи

3. I2C кабел

4. I2C щит за Raspberry Pi

5. Ethernet кабел

-

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

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

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

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

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

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

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

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

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

Предимството на използването на малинов pi е, че ви осигурява гъвкавостта на езика за програмиране, на който искате да програмирате платката, за да свържете интерфейса на сензора с нея. Използвайки това предимство на тази дъска, ние демонстрираме тук нейното програмиране в Java. Java кодът за HYT939 може да бъде изтеглен от нашата github общност, която е Dcube Store.

Освен за улеснение на потребителите, ние обясняваме кода и тук:

Като първа стъпка на кодиране трябва да изтеглите библиотеката pi4j в случай на java, защото тази библиотека поддържа функциите, използвани в кода. Така че, за да изтеглите библиотеката, можете да посетите следната връзка:

pi4j.com/install.html

Можете да копирате работещия java код за този сензор и от тук:

внос com.pi4j.io.i2c. I2CBus;

внос com.pi4j.io.i2c. I2CDevice;

внос com.pi4j.io.i2c. I2CFactory;

импортиране на java.io. IOException;

обществен клас HYT939

{

public static void main (String args ) хвърля Exception

{

// Създаване на I2CBus

I2CBus шина = I2CFactory.getInstance (I2CBus. BUS_1);

// Вземете I2C устройство, HYT939 I2C адресът е 0x28 (40)

I2CDevice устройство = bus.getDevice (0x28);

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

device.write ((байт) 0x80);

Thread.sleep (500);

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

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

байт данни = нов байт [4];

device.read (данни, 0, 4);

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

двойна влажност = (((данни [0] & 0x3F) * 256) + (данни [1] & 0xFF)) * (100.0 / 16383.0);

двоен cTemp = ((((данни [2] & 0xFF) * 256) + (данни [3] & 0xFC)) / 4) * (165,0 / 16383,0) - 40;

двоен fTemp = (cTemp * 1.8) + 32;

// Извеждане на данни на екрана

System.out.printf ("Относителната влажност е: %.2f %% RH %n", влажност);

System.out.printf ("Температурата в Целзий е: %.2f C %n", cTemp);

System.out.printf ("Температурата по Фаренхайт е: %.2f F %n", fTemp);

}

}

Библиотеката, която улеснява i2c комуникацията между сензора и платката, е pi4j, нейните различни пакети I2CBus, I2CDevice и I2CFactory помагат за установяване на връзката.

внос com.pi4j.io.i2c. I2CBus; импортиране com.pi4j.io.i2c. I2CDevice; внос com.pi4j.io.i2c. I2CFactory; импортиране на java.io. IOException;

Функциите write () и read () се използват за записване на някои конкретни команди към сензора, за да го накарат да работи в определен режим и четене съответно на изхода на сензора. Следващата част от кода илюстрира използването на тези функции.

// Изпращане на команда за нормален режим device.write ((байт) 0x80); Thread.sleep (500); // Прочетете 4 байта данни // влажност msb, влажност lsb, temp msb, temp lsb байт данни = нов байт [4]; device.read (данни, 0, 4);

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

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

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

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

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