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

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

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

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

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

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

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

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

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

1. HDC1000

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

3. I2C մալուխ

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

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

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

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

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

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

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

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

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

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

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

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

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

#ներառում

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

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

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

{

// Նախնականացնել 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 ();

}

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

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

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

float fTemp = cTemp * 1.8 + 32;

// Սկսում է I2C հաղորդակցությունը

Wire.beginTransmission (Addr);

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

Wire.write (0x01);

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

Wire.endTransmission ();

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

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

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

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

// խոնավություն msb, խոնավություն lsb

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

{

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

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

}

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

բոց խոնավություն = (տվյալներ [0] * 256) + տվյալներ [1];

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

// Ելքային տվյալները սերիական մոնիտորին

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");

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

}

Լարային գրադարանում Wire.write () և Wire.read () օգտագործվում են հրամանները գրելու և սենսորի ելքը կարդալու համար:

Serial.print () և Serial.println () օգտագործվում են սենսորի ելքը Arduino IDE- ի սերիական մոնիտորի վրա ցուցադրելու համար:

Սենսորի ելքը ցուցադրվում է վերևի նկարում:

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

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

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

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