Мазмұны:

HYT939 және Arduino Nano көмегімен ылғалдылықты өлшеу: 4 қадам
HYT939 және Arduino Nano көмегімен ылғалдылықты өлшеу: 4 қадам

Бейне: HYT939 және Arduino Nano көмегімен ылғалдылықты өлшеу: 4 қадам

Бейне: HYT939 және Arduino Nano көмегімен ылғалдылықты өлшеу: 4 қадам
Бейне: Particle Photon HYT939 I2C Humidity and Temperature Sensor Tutorial 2024, Шілде
Anonim
Image
Image

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

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

Сенсор жұмыс істейтін байланыс протоколы I2C болып табылады. I2C интегралды схеманы білдіреді. Бұл байланыс хаттамасы, онда байланыс SDA (сериялық деректер) және SCL (сериялық сағат) желілері арқылы жүзеге асады. Бұл бірнеше құрылғыны бір уақытта қосуға мүмкіндік береді. Бұл қарапайым және тиімді байланыс протоколдарының бірі.

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

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

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

1. HYT939

2. Ардуино Нано

3. I2C кабелі

4. Arduino наноға арналған I2C қалқаны

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

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

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

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

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

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

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

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

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

Енді Arduinoo кодынан бастайық.

Сенсорлық модульді Arduino -мен қолданған кезде біз Wire.h кітапханасын қосамыз. «Wire» кітапханасында сенсор мен Arduino тақтасы арасындағы i2c байланысын жеңілдететін функциялар бар.

Пайдаланушыға ыңғайлы болу үшін барлық Arduino коды төменде келтірілген:

#қосу

// HYT939 I2C мекенжайы - 0x28 (40)

#анықтаңыз Addr 0x28

жарамсыз орнату ()

{

// I2C байланысын MASTER ретінде баптаңыз

Wire.begin ();

// Сериялық байланысты бастау

Serial.begin (9600);

кешіктіру (300);

}

бос цикл ()

{

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

Ұсынылған: