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

MPերմաստիճանի չափում TMP112- ի և մասնիկի ֆոտոնի միջոցով `4 քայլ
MPերմաստիճանի չափում TMP112- ի և մասնիկի ֆոտոնի միջոցով `4 քայլ

Video: MPերմաստիճանի չափում TMP112- ի և մասնիկի ֆոտոնի միջոցով `4 քայլ

Video: MPերմաստիճանի չափում TMP112- ի և մասնիկի ֆոտոնի միջոցով `4 քայլ
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Հուլիսի
Anonim
Image
Image

TMP112 Բարձր ճշգրտության, ցածր էներգիայի, թվային ջերմաստիճանի տվիչ I2C MINI մոդուլ: TMP112- ը իդեալական է երկարացված ջերմաստիճանի չափման համար: Այս սարքն առաջարկում է ± 0.5 ° C ճշգրտություն ՝ առանց չափաբերման կամ արտաքին բաղադրիչի ազդանշանի կոնդիցիոներ պահանջելու:

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

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

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

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

1. TMP112

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

3. I2C մալուխ

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

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

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

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

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

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

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

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

Քայլ 3. Codeերմաստիճանի չափման կոդ

Codeերմաստիճանի չափման կոդ
Codeերմաստիճանի չափման կոդ

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

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

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

#ներառում

#ներառում

// TMP112 I2C հասցեն ՝ 0x48 (72)

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

կրկնակի cTemp = 0.0, fTemp = 0.0;

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

{

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

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

Particle.variable («cTemp», cTemp);

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

Wire.begin ();

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

Serial.begin (9600);

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

Wire.beginTransmission (Addr);

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

Wire.write (0x01);

// Շարունակական փոխակերպում, համեմատիչի ռեժիմ, 12-բիթանոց լուծում

Wire.write (0x60);

Wire.write (0xA0);

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

Wire.endTransmission ();

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

}

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

{

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

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

Wire.beginTransmission (Addr);

// Ընտրեք ջերմաստիճանի տվյալների գրանցամատյան

Wire.write (0x00);

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

Wire.endTransmission ();

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

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

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

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

// temp msb, temp lsb

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

{

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

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

}

// Տեղափոխեք տվյալները 12 բիթ

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

եթե (ջերմաստիճան> 2048)

{

ջերմաստիճան -= 4096;

}

cTemp = temp * 0.0625;

fTemp = cTemp * 1.8 + 32;

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

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

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

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

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

}

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

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

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

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

TMP112 ցածր էներգիայի, բարձր ճշգրտության ջերմաստիճանի տվիչ ներառող տարբեր ծրագրեր ներառում են էներգիայի մատակարարման ջերմաստիճանի մոնիտորինգ, համակարգչային ծայրամասային ջերմային պաշտպանություն, մարտկոցի կառավարում, ինչպես նաև գրասենյակային մեքենաներ:

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