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

HDC1000- ի և մասնիկի ֆոտոնի միջոցով ջերմաստիճանի և խոնավության չափում. 4 քայլ
HDC1000- ի և մասնիկի ֆոտոնի միջոցով ջերմաստիճանի և խոնավության չափում. 4 քայլ

Video: HDC1000- ի և մասնիկի ֆոտոնի միջոցով ջերմաստիճանի և խոնավության չափում. 4 քայլ

Video: HDC1000- ի և մասնիկի ֆոտոնի միջոցով ջերմաստիճանի և խոնավության չափում. 4 քայլ
Video: HUARONG HDC1000 Двухкомпонентное литье стекла заднего фонаря 2024, Հուլիսի
Anonim
Image
Image

HDC1000- ը թվային խոնավության տվիչ է `ինտեգրված ջերմաստիճանի տվիչով, որն ապահովում է չափման գերազանց ճշգրտություն շատ ցածր էներգիայի դեպքում: Սարքը չափում է խոնավությունը `հիմնված նոր հզորունակության տվիչի վրա: Խոնավության և ջերմաստիճանի տվիչները գործարանային չափագրված են: Այն գործում է ամբողջ -40 ° C- ից +125 ° C ջերմաստիճանի սահմաններում:

Այս ձեռնարկում պատկերված է HDC1000 սենսորային մոդուլի և մասնիկի ֆոտոնի հետ փոխազդեցությունը: Temperatureերմաստիճանի եւ խոնավության արժեքները կարդալու համար մենք օգտագործել ենք I2c ադապտեր ունեցող մասնիկը: Այս I2C ադապտերը սենսորային մոդուլին միացումը դարձնում է հեշտ եւ ավելի հուսալի:

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

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

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

1. HDC1000

2. Ֆոտոն մասնիկ

3. I2C մալուխ

4. I2C վահան մասնիկի ֆոտոնի համար

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

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

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

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

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

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

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

Քայլ 3. Codeերմաստիճանի և խոնավության չափման ծածկագիր

Codeերմաստիճանի եւ խոնավության չափման կոդ
Codeերմաստիճանի եւ խոնավության չափման կոդ

Եկեք հիմա սկսենք մասնիկների ծածկագրից:

Սենսորային մոդուլը մասնիկի հետ օգտագործելիս մենք ներառում ենք application.h և spark_wiring_i2c.h գրադարանը: «application.h» և spark_wiring_i2c.h գրադարանը պարունակում են գործառույթներ, որոնք հեշտացնում են i2c հաղորդակցությունը սենսորի և մասնիկի միջև:

Օգտվողի հարմարության համար ստորև բերված է մասնիկների ամբողջ ծածկագիրը.

#ներառում

#ներառում

// HDC1000 I2C հասցեն ՝ 0x40 (64)

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

կրկնակի cTemp = 0.0, fTemp = 0.0, խոնավությունը = 0.0;

int temp = 0, hum = 0;

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

{

// Սահմանել փոփոխական

Particle.variable («i2cdevice», «HDC1000»);

Մասնիկ. Փոփոխական («խոնավություն», խոնավություն);

Particle.variable («cTemp», cTemp);

// Նախնականացնել I2C հաղորդակցությունը

Wire.begin ();

// Սկզբնականացնել սերիական հաղորդակցությունը, սահմանել բաուդ արագություն = 9600

Serial.begin (9600);

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

Wire.beginTransmission (Addr);

// Ընտրեք կազմաձևման գրանցամատյան

Wire.write (0x02);

// Temերմաստիճանը, խոնավությունը միացված է, լուծումը = 14 բիթ, վառարանը միացված է

Wire.write (0x30);

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

Wire.endTransmission ();

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

}

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

{

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

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

Wire.beginTransmission (Addr);

// Ուղարկել ջերմաստիճանի չափման հրաման

Wire.write (0x00);

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

Wire.endTransmission ();

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

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

Մետաղալար. Խնդրում ենք (Addr, 2);

// Կարդացեք 2 բայթ տվյալներ

// temp msb, temp lsb

եթե (Wire.available () == 2)

{

տվյալներ [0] = Wire.read ();

տվյալներ [1] = Wire.read ();

}

// Փոխարկել տվյալները

temp = ((տվյալներ [0] * 256) + տվյալներ [1]);

cTemp = (temp / 65536.0) * 165.0 - 40;

fTemp = cTemp * 1.8 + 32;

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

Wire.beginTransmission (Addr);

// Ուղարկել խոնավության չափման հրաման

Wire.write (0x01);

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

Wire.endTransmission ();

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

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

Մետաղալար. Խնդրում ենք (Addr, 2);

// Կարդացեք 2 բայթ տվյալներ

// temp msb, temp lsb

եթե (Wire.available () == 2)

{

տվյալներ [0] = Wire.read ();

տվյալներ [1] = Wire.read ();

}

// Փոխարկել տվյալները

հում = ((տվյալներ [0] * 256) + տվյալներ [1]);

խոնավություն = (բզզոց / 65536.0) * 100.0;

// Տվյալների մուտքագրում վահանակ

Particle.publish ("Հարաբերական խոնավություն.", String (խոնավություն));

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

Particle.publish ("Cերմաստիճանը Celsius:", լարային (cTemp));

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

Particle.publish ("ahերմաստիճանը Ֆարենհայտում.", Լարային (fTemp));

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

}

Particle.variable () գործառույթը ստեղծում է սենսորի ելքը պահելու փոփոխականները, իսկ Particle.publish () գործառույթը ցուցադրում է ելքը կայքի վահանակի վրա:

Սենսորային ելքը ցուցադրվում է վերևի նկարում ՝ ձեր տեղեկանքի համար:

Քայլ 4: Դիմումներ

Դիմումներ
Դիմումներ

HDC1000- ը կարող է օգտագործվել ջեռուցման, օդափոխման և օդորակման (HVAC), խելացի ջերմաչափերի և սենյակի մոնիտորների մեջ: Այս սենսորը նաև իր կիրառությունն է գտնում Տպիչների, Ձեռքի հաշվիչների, Բժշկական սարքերի, Բեռների առաքման, ինչպես նաև Ավտոմոբիլային դիմապակու պղտորման մեջ:

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