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

MCP9808- ի և Raspberry Pi- ի միջոցով ջերմաստիճանի մոնիտորինգ. 4 քայլ
MCP9808- ի և Raspberry Pi- ի միջոցով ջերմաստիճանի մոնիտորինգ. 4 քայլ

Video: MCP9808- ի և Raspberry Pi- ի միջոցով ջերմաստիճանի մոնիտորինգ. 4 քայլ

Video: MCP9808- ի և Raspberry Pi- ի միջոցով ջերմաստիճանի մոնիտորինգ. 4 քայլ
Video: PTRoboticsTV - 27-09-2014 - Apresentação de Novidades Adafruit 2024, Հուլիսի
Anonim
Image
Image

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

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

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

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

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

1. MCP9808

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

3. I2C մալուխ

4. I2C վահան ազնվամորի պի համար

5. Ethernet մալուխ

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

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

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

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

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

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

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

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

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

Ազնվամորու pi- ի օգտագործման առավելությունն այն է, որ ձեզ տալիս է ծրագրավորման այն լեզվի ճկունությունը, որով ցանկանում եք ծրագրավորել տախտակը `սենսորը դրա հետ միացնելու համար: Օգտվելով այս տախտակի այս առավելությունից ՝ մենք այստեղ ցուցադրում ենք դրա ծրագրավորումը պիթոնում: Python- ը ամենահեշտ շարահյուսությամբ ծրագրավորման ամենահեշտ լեզուներից մեկն է: MCP9808- ի Python կոդը կարելի է ներբեռնել մեր github համայնքից, որը DCUBE Store Community- ն է:

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

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

pypi.python.org/pypi/smbus-cffi/0.5.1

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

ներմուծել smbus

ներմուծման ժամանակը

# Ստացեք I2C ավտոբուս = smbus. SMBus (1)

# MCP9808 հասցե, 0x18 (24)

# Ընտրեք կազմաձևման գրանցամատյան, 0x01 (1)

# 0x0000 (00) Փոխարկման շարունակական ռեժիմ, լռելյայն միացման ռեժիմ

config = [0x00, 0x00] bus.write_i2c_block_data (0x18, 0x01, config)

# MCP9808 հասցե, 0x18 (24)

# Ընտրեք բանաձևի գրանցիչ, 0x08 (8)

# 0x03 (03) Բանաձև = +0.0625 / C

bus.write_byte_data (0x18, 0x08, 0x03)

ժամանակ. քուն (0.5)

# MCP9808 հասցե, 0x18 (24)

# Կարդացեք տվյալները 0x05 (5) -ից, 2 բայթ

# Temp MSB, TEMP LSB

տվյալներ = bus.read_i2c_block_data (0x18, 0x05, 2)

# Փոխարկեք տվյալները 13 բիթ

ctemp = ((տվյալները [0] & 0x1F) * 256) + տվյալները [1]

եթե ctemp> 4095:

ctemp -= 8192

ctemp = ctemp * 0.0625

ftemp = ctemp * 1.8 + 32

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

տպել "elsելսիուսի ջերմաստիճանը` %.2f C " %ctemp

տպել «ahերմաստիճանը Ֆարենհայտում է ՝ %.2f F» %ftemp

Կոդը կատարվում է հետևյալ հրամանի միջոցով.

$> python MCP9808.py gt; python MCP9808.py

gt; python MCP9808.py

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

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

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

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

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