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

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

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

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

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

Այս ձեռնարկում ցուցադրվում է MCP9803 սենսորային մոդուլի և ազնվամորու pi- ի փոխազդեցությունը, ինչպես նաև պատկերված է դրա ծրագրավորումը Java լեզվով: Theերմաստիճանի արժեքները կարդալու համար մենք օգտագործել ենք ազնվամորի pi- ն I2C ադապտերով: Այս I2C ադապտերը սենսորային մոդուլին միացումը դարձնում է ավելի հեշտ և հուսալի:

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

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

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

1. MCP9803

2. Ազնվամորի պի

3. I2C մալուխ

4. I2C Shield ազնվամորու pi- ի համար

5. Ethernet մալուխ

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

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

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

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

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

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

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

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

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

Ազնվամորու pi- ի օգտագործման առավելությունն այն է, որ ապահովում է այն ծրագրավորման լեզվի ճկունությունը, որով ցանկանում եք ծրագրավորել տախտակը `սենսորը դրա հետ միացնելու համար: Օգտվելով այս տախտակի այս առավելությունից ՝ մենք ցույց ենք տալիս, որ այն ծրագրավորում է Java- ում: MCP9803- ի համար Java կոդը կարելի է ներբեռնել մեր Github համայնքից, որը Dcube Store- ն է:

Ինչպես նաև օգտվողների հեշտության համար, մենք այստեղ բացատրում ենք ծածկագիրը.

Որպես կոդավորման առաջին քայլ, java- ի դեպքում անհրաժեշտ է ներբեռնել pi4j գրադարանը, քանի որ այս գրադարանը աջակցում է կոդի մեջ օգտագործվող գործառույթներին: Այսպիսով, գրադարանը ներբեռնելու համար կարող եք այցելել հետևյալ հղումը.

pi4j.com/install.html

Այս սենսորի աշխատանքային java ծածկագիրը կարող եք պատճենել նաև այստեղից.

ներմուծել com.pi4j.io.i2c. I2CBus;

ներմուծել com.pi4j.io.i2c. I2CD սարք;

ներմուծել com.pi4j.io.i2c. I2CFactory;

ներմուծում java.io. IOException; հանրային դաս MCP9803

{

public static void main (String args ) նետում է Բացառություն

{

// Ստեղծել I2C ավտոբուս

I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);

// Ստացեք I2C սարք, MCP9803 I2C հասցեն ՝ 0x48 (72)

I2CDevice սարք = Bus.getDevice (0x48);

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

// Անընդհատ փոխակերպման ռեժիմ, Power-up, comparator ռեժիմ, 12-բիթանոց լուծում

device.write (0x01, (բայթ) 0x60);

Thread.sleep (500);

// Կարդացեք 2 բայթ տվյալներ 0x00 հասցեից (0)

// temp msb, temp lsb

բայթ տվյալներ = նոր բայթ [2];

device.read (0x00, տվյալներ, 0, 2);

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

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

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

{

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

}

կրկնակի cTemp = ջերմաստիճան * 0.0625;

կրկնակի fTemp = cTemp * 1.8 + 32;

// Ելքի տվյալները էկրանին

System.out.printf ("elsելսիուսի ջերմաստիճանը` %.2f C %n ", cTemp);

System.out.printf («ahերմաստիճանը Ֆարենհայտում է ՝ %.2f F %n», fTemp);

}

}

Գրադարանը, որը հեշտացնում է i2c հաղորդակցումը սենսորի և տախտակի միջև, pi4j է, դրա տարբեր փաթեթները I2CBus, I2CDevice և I2CFactory- ն օգնում են կապ հաստատել:

ներմուծել com.pi4j.io.i2c. I2CBus;

ներմուծել com.pi4j.io.i2c. I2CD սարք;

ներմուծել com.pi4j.io.i2c. I2CFactory;

ներմուծում java.io. IOException;

գրել () և կարդալ () գործառույթները օգտագործվում են սենսորին որոշակի հրամաններ գրելու համար, որպեսզի այն աշխատի որոշակի ռեժիմում և համապատասխանաբար կարդա սենսորի ելքը:

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

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

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

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

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