Բովանդակություն:

Խոնավության չափում ՝ օգտագործելով HYT939 և Arduino Nano: 4 քայլ
Խոնավության չափում ՝ օգտագործելով HYT939 և Arduino Nano: 4 քայլ

Video: Խոնավության չափում ՝ օգտագործելով HYT939 և Arduino Nano: 4 քայլ

Video: Խոնավության չափում ՝ օգտագործելով HYT939 և Arduino Nano: 4 քայլ
Video: Կաթացող տանիք, խոնավություն, պոկված հատակ․երևանյան դպրոցը 6 տարի է քանդվել ու չի նորոգվում 2024, Նոյեմբեր
Anonim
Image
Image

HYT939- ը թվային խոնավության տվիչ է, որն աշխատում է I2C հաղորդակցության արձանագրության վրա: Խոնավությունը առանցքային պարամետր է, երբ խոսքը վերաբերում է բժշկական համակարգերին և լաբորատորիաներին, ուստի այս նպատակներին հասնելու համար մենք փորձեցինք HYT939- ը կապել arduino nano- ի հետ: Այս ձեռնարկում ցուցադրվում է HYT939 սենսորային մոդուլի միջերեսումը arduino nano- ի հետ:

Խոնավության արժեքները կարդալու համար մենք օգտագործել ենք arduino- ն I2c ադապտերով: Այս I2C ադապտերը դյուրին և հուսալի է դարձնում սենսորային մոդուլի հետ կապը:

Հաղորդակցության արձանագրությունը, որի վրա աշխատում է սենսորը, I2C է: I2C- ը նշանակում է ինտեգրված միացում: Այն հաղորդակցման արձանագրություն է, որի միջոցով հաղորդակցությունը տեղի է ունենում SDA (սերիական տվյալներ) և SCL (սերիական ժամացույց) գծերի միջոցով: Այն թույլ է տալիս միաժամանակ միացնել բազմաթիվ սարքեր: Այն ամենապարզ և ամենաարդյունավետ հաղորդակցման արձանագրություններից մեկն է:

Քայլ 1: Պահանջվում է սարքավորում

Պահանջվող սարքավորում
Պահանջվող սարքավորում
Պահանջվող սարքավորում
Պահանջվող սարքավորում
Պահանջվող սարքավորում
Պահանջվող սարքավորում

Նյութերը, որոնք մեզ անհրաժեշտ են մեր նպատակին հասնելու համար, ներառում են հետևյալ ապարատային բաղադրիչները.

1. HYT939

2. Արդուինո Նանո

3. I2C մալուխ

4. I2C վահան Arduino nano- ի համար

Քայլ 2: Սարքավորման միացում

Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում

Սարքավորումների միացման բաժինը հիմնականում բացատրում է սենսորի և arduino nano- ի միջև պահանջվող լարերի միացումները: Connectionsանկալի ելքի համար ցանկացած համակարգի վրա աշխատելիս հիմնական անհրաժեշտությունն է հիմնական կապերի ապահովումը: Այսպիսով, անհրաժեշտ կապերը հետևյալն են.

HYT939- ը կաշխատի I2C- ով: Ահա միացման սխեմայի օրինակ, որը ցույց է տալիս, թե ինչպես միացնել սենսորի յուրաքանչյուր միջերեսը:

Տուփից դուրս, տախտակը կազմաձևված է I2C ինտերֆեյսի համար, ուստի խորհուրդ ենք տալիս օգտագործել այս կապը, եթե այլապես ագնոստիկ եք: Ձեզ անհրաժեշտ է չորս լար:

Միայն չորս միացում է պահանջվում Vcc, Gnd, SCL և SDA կապում, որոնք միացված են I2C մալուխի օգնությամբ:

Այս կապերը ցուցադրվում են վերը նշված նկարներում:

Քայլ 3. Խոնավության չափման Arduino ծածկագիրը

Խոնավության չափման Arduino ծածկագիր
Խոնավության չափման Arduino ծածկագիր
Խոնավության չափման Arduino ծածկագիր
Խոնավության չափման Arduino ծածկագիր

Եկեք հիմա սկսենք Arduinoo կոդով:

Arduino- ի հետ սենսորային մոդուլն օգտագործելիս մենք ներառում ենք Wire.h գրադարանը: «Լար» գրադարանը պարունակում է գործառույթներ, որոնք հեշտացնում են i2c հաղորդակցությունը սենսորի և Arduino տախտակի միջև:

Ամբողջ Arduino ծածկագիրը տրված է ստորև ՝ օգտագործողի հարմարության համար.

#ներառում

// HYT939 I2C հասցեն ՝ 0x28 (40)

#սահմանեք Addr 0x28

դատարկ կարգավորում ()

{

// Նախնականացնել I2C հաղորդակցությունը որպես ՎԱՐՊԵՏ

Wire.begin ();

// Սերիական հաղորդակցության նախաստորագրում

Serial.begin (9600);

ուշացում (300);

}

դատարկ շրջան ()

{

անստորագիր int տվյալներ [4];

// Սկսել I2C փոխանցումը

Wire.beginTransmission (Addr);

// Ուղարկել նորմալ ռեժիմի հրաման

Wire.write (0x80);

// Դադարեցնել I2C փոխանցումը

Wire.endTransmission ();

ուշացում (300);

// Պահանջել 4 բայթ տվյալներ

Մետաղալար. Խնդրում ենք (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 ("Cերմաստիճանը Celsius:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print («Fերմաստիճանը Ֆարենհայտում.»);

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- ը արդյունավետ խոնավության թվային տվիչ է, որն օգտագործվում է բժշկական համակարգերում `ավտոկլավներում: Sensorնշման ցողի կետի չափման և չորացման համակարգերը նույնպես գտնում են այս սենսորային մոդուլի օգտագործումը: Տարբեր լաբորատորիաներում, որտեղ համապատասխան խոնավության մակարդակը փորձերի անցկացման առանցքային պարամետր է, այս սենսորը կարող է տեղակայվել այնտեղ խոնավության չափումների համար:

Խորհուրդ ենք տալիս: