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

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

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

Video: MCP9803- ի և Arduino Nano- ի միջոցով ջերմաստիճանի չափում. 4 քայլ
Video: BeagleBone Black MCP9803 Temperature Sensor 'C' code Tutorial 2024, Նոյեմբեր
Anonim
Image
Image

MCP9803- ը 2 լարային բարձր ճշգրտության ջերմաստիճանի տվիչ է: Նրանք մարմնավորված են օգտագործողների կողմից ծրագրավորվող գրանցամատյաններով, որոնք հեշտացնում են ջերմաստիճանի զգայուն ծրագրերը: Այս տվիչը հարմար է բարձրակարգ բազմաշերտ ջերմաստիճանի մոնիտորինգի համակարգի համար:

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

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

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

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

1. MCP9803

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

3. I2C մալուխ

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

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

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

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

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

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

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

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

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

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

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

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

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

#ներառում

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

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

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

{

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

Wire.begin ();

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

Serial.begin (9600);

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

Wire.beginTransmission (Addr);

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

Wire.write (0x01);

// Շարունակական փոխակերպման ռեժիմ, Power-up լռելյայն

Wire.write (0x60);

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

Wire.endTransmission ();

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

}

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

{

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

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

Wire.beginTransmission (Addr);

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

Wire.write (0x00);

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

Wire.endTransmission ();

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

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

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

// temp msb, temp lsb

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

{

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

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

}

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

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

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

{

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

}

float cTemp = temp * 0.0625;

float fTemp = cTemp * 1.8 + 32;

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

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: Դիմումներ

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

MCP9803- ը կարող է օգտագործվել սարքերի լայն ասպարեզում, որոնք ներառում են անհատական համակարգիչ և ծայրամասային սարքեր, կոշտ սկավառակներ, զվարճանքի տարբեր համակարգեր, գրասենյակային համակարգեր և տվյալների հաղորդման համակարգեր: Այս սենսորը կարող է ներառվել տարբեր բարդ համակարգերում:

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