Мазмұны:

HYT939 мен Raspberry Pi көмегімен ылғалдылықты өлшеу: 4 қадам
HYT939 мен Raspberry Pi көмегімен ылғалдылықты өлшеу: 4 қадам

Бейне: HYT939 мен Raspberry Pi көмегімен ылғалдылықты өлшеу: 4 қадам

Бейне: HYT939 мен Raspberry Pi көмегімен ылғалдылықты өлшеу: 4 қадам
Бейне: Particle Photon HYT939 I2C Humidity and Temperature Sensor Tutorial 2024, Қараша
Anonim
Image
Image

HYT939 - I2C байланыс протоколында жұмыс істейтін цифрлық ылғалдылық сенсоры. Ылғалдылық медициналық жүйелер мен зертханаларға қатысты маңызды параметр болып табылады, сондықтан осы мақсаттарға жету үшін біз HYT939 -ді таңқурай пи -мен байланыстыруға тырыстық. Бұл оқулықта HYT939 сенсорлық модулінің таңқурай пи -мен байланысы көрсетілген және оның Java тілінде бағдарламалануы да суреттелген.

Ылғалдылық мәндерін оқу үшін біз I2c адаптері бар таңқурай pi қолдандық, бұл I2C адаптері сенсорлық модульге қосылуды жеңіл әрі сенімді етеді.

1 -қадам: Қажетті жабдық:

Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық

Тапсырманы орындау үшін келесі жабдық қажет:

1. HYT939

2. Raspberry Pi

3. I2C кабелі

4. Raspberry Pi үшін I2C қалқаны

5. Ethernet кабелі

-

2 -қадам: Жабдықты қосу:

Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу

Аппаратты қосу бөлімі негізінен сенсор мен таңқурай пи арасындағы қажетті сымдық қосылыстарды түсіндіреді. Қажетті шығыс үшін кез келген жүйеде жұмыс істеу кезінде дұрыс қосылуды қамтамасыз ету - бұл негізгі қажеттілік. Сонымен, қажетті байланыстар келесідей:

HYT939 I2C режимінде жұмыс істейді. Датчиктің әр интерфейсін қалай қосуға болатынын көрсететін электр схемасының мысалы.

Қаптамадан тыс тақта I2C интерфейсі үшін конфигурацияланған, сондықтан егер сіз агностикалық болмасаңыз, осы қосылымды пайдалануды ұсынамыз. Сізге тек төрт сым қажет!

Vcc, Gnd, SCL және SDA түйреуіштеріне тек төрт қосылым қажет және олар I2C кабелінің көмегімен қосылған.

Бұл байланыстар жоғарыдағы суреттерде көрсетілген.

3 -қадам: ылғалдылықты өлшеуге арналған Java коды:

Ылғалдылықты өлшеуге арналған Java коды
Ылғалдылықты өлшеуге арналған Java коды
Ылғалдылықты өлшеуге арналған Java коды
Ылғалдылықты өлшеуге арналған Java коды

Таңқурай пиін қолданудың артықшылығы - бұл сенсорды интерфейске қосу үшін тақтаны бағдарламалайтын тілдің икемділігін қамтамасыз етеді. Бұл тақтаның артықшылығын пайдаланып, біз оның Java -дағы бағдарламалауын көрсетеміз. HYT939 java кодын біздің github қауымдастығынан жүктеуге болады, бұл Dcube Store.

Пайдаланушыларға ыңғайлы болу үшін біз кодты осында түсіндіреміз:

Кодтаудың бірінші қадамы ретінде java жағдайында pi4j кітапханасын жүктеу қажет, себебі бұл кітапхана кодта қолданылатын функцияларды қолдайды. Сонымен, кітапхананы жүктеу үшін келесі сілтемеге кіруге болады:

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 ) Ерекшеліктерді шығарады

{

// 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. I2CD құрылғыны импорттау; com.pi4j.io.i2c. I2CFactory импорттау; java.io. IOException импорттау;

write () және read () функциялары сенсорға белгілі бір режимде жұмыс істеу үшін және сенсордың шығысын оқу үшін белгілі бір командаларды жазу үшін қолданылады. Кодтың келесі бөлігі осы функцияларды қолдануды көрсетеді.

// Normal mode командасын жіберу device.write ((байт) 0x80); Thread.sleep (500); // Деректердің 4 байтын оқу // ылғалдылық мсб, ылғалдылық lsb, temp msb, temp lsb байт деректер = жаңа байт [4]; device.read (деректер, 0, 4);

Сенсордың шығысы жоғарыдағы суретте де көрсетілген.

4 -қадам: Өтініштер:

Қолданбалар
Қолданбалар

HYT939 тиімді цифрлық ылғалдылық сенсоры ретінде медициналық жүйелерде, автоклавтарда қолданылады. Қыс қысымының нүктесін өлшеу және кептіру жүйелері де осы сенсорлық модульдің қолданылуын табады. Әр түрлі зертханаларда ылғалдылықтың тиісті деңгейі эксперимент жүргізу үшін негізгі параметр болып табылады, онда бұл сенсор ылғалдылықты өлшеу үшін орналастырылуы мүмкін.

Ұсынылған: