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

Խոնավության և ջերմաստիճանի չափում ՝ օգտագործելով HTS221 և ազնվամորի Pi: 4 քայլ
Խոնավության և ջերմաստիճանի չափում ՝ օգտագործելով HTS221 և ազնվամորի Pi: 4 քայլ

Video: Խոնավության և ջերմաստիճանի չափում ՝ օգտագործելով HTS221 և ազնվամորի Pi: 4 քայլ

Video: Խոնավության և ջերմաստիճանի չափում ՝ օգտագործելով HTS221 և ազնվամորի Pi: 4 քայլ
Video: Ինչպես ճիշտ չափել մարմնի ջերմաստիճանը. 3 հիմնական կանոն 2024, Նոյեմբեր
Anonim
Image
Image

HTS221- ը ծայրահեղ կոմպակտ տարողունակ թվային սենսոր է հարաբերական խոնավության և ջերմաստիճանի համար: Այն ներառում է զգայուն տարր և խառը ազդանշանների կիրառման հատուկ ինտեգրալ միացում (ASIC) `թվային սերիական միջերեսների միջոցով չափման տեղեկատվությունը տրամադրելու համար: Ինտեգրված այսքան շատ հատկանիշներով սա խոնավության և ջերմաստիճանի կրիտիկական չափումների ամենահարմար սենսորներից է:

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

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

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

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

1. HTS221

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

3. I2C մալուխ

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

5. Ethernet մալուխ

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

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

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

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

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

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

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

Քայլ 3. Խոնավության և ջերմաստիճանի չափման կոդ

Խոնավության և ջերմաստիճանի չափման կոդ
Խոնավության և ջերմաստիճանի չափման կոդ

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

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

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

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

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

ներմուծել smbus

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

# Ձեռք բերեք I2C ավտոբուս

ավտոբուս = smbus. SMBus (1)

# HTS221 հասցե, 0x5F (95)

# Ընտրեք միջին կազմաձևման գրանցամատյան, 0x10 (16)

# 0x1B (27) averageերմաստիճանի միջին նմուշներ = 256, խոնավության միջին նմուշներ = 512

bus.write_byte_data (0x5F, 0x10, 0x1B)

# HTS221 հասցե, 0x5F (95)

# Ընտրեք կառավարման ռեգիստր 1, 0x20 (32)

# 0x85 (133) Միացում, շարունակական թարմացում, տվյալների ելքային արագություն = 1 Հց

bus.write_byte_data (0x5F, 0x20, 0x85)

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

# HTS221 հասցե, 0x5F (95)

# Կարդացեք Calibration- ի արժեքները սարքի անկայուն հիշողությունից

# Խոնավության ստուգաչափման արժեքներ

# Կարդացեք տվյալները 0x30 (48) -ից, 1 բայթ

val = bus.read_byte_data (0x5F, 0x30)

H0 = val / 2

# Կարդացեք տվյալները 0x31 (49) -ից, 1 բայթ

val = bus.read_byte_data (0x5F, 0x31)

H1 = val /2

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

val0 = bus.read_byte_data (0x5F, 0x36)

val1 = bus.read_byte_data (0x5F, 0x37)

H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

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

val0 = bus.read_byte_data (0x5F, 0x3A)

val1 = bus.read_byte_data (0x5F, 0x3B)

H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Peratերմաստիճանի ստուգաչափման արժեքներ

# Կարդացեք տվյալները 0x32 (50) -ից, 1 բայթ

T0 = bus.read_byte_data (0x5F, 0x32)

T0 = (T0 & 0xFF)

# Կարդացեք տվյալները 0x32 (51) -ից, 1 բայթ

T1 = bus.read_byte_data (0x5F, 0x33)

T1 = (T1 & 0xFF)

# Կարդացեք տվյալները 0x35 (53) -ից, 1 բայթ

հում = bus.read_byte_data (0x5F, 0x35)

հում = (հում և 0x0F)

# Փոխարկեք ջերմաստիճանի ստուգաչափման արժեքները 10 բիթ

T0 = ((հում և 0x03) * 256) + T0

T1 = ((հում և 0x0C) * 64) + T1

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

val0 = bus.read_byte_data (0x5F, 0x3C)

val1 = bus.read_byte_data (0x5F, 0x3D)

T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

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

val0 = bus.read_byte_data (0x5F, 0x3E)

val1 = bus.read_byte_data (0x5F, 0x3F)

T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Կարդացեք տվյալները 0x28 (40) -ից ՝ 0x80 (128) հրամանի գրանցամատյանով, 4 բայթ

# խոնավություն msb, խոնավություն lsb, ջերմաստիճան msb, ջերմաստիճան lsb

տվյալներ = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)

# Փոխակերպեք տվյալները

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

խոնավություն = ((1.0 * H1) - (1.0 * H0)) * (1.0 * խոնավություն - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)

temp = (տվյալներ [3] * 256) + տվյալներ [2]

եթե ջերմաստիճանը> 32767:

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

cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)

fTemp = (cTemp * 1.8) + 32

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

տպել "Հարաբերական խոնավություն. %.2f %%" %խոնավություն

տպել "elsերմաստիճանը Celsius: %.2f C" %cTemp

տպել "ahերմաստիճանը Ֆարենհայտում. %.2f F" %fTemp

Ստորև նշված կոդի մասը ներառում է գրադարանները, որոնք անհրաժեշտ են պիթոնի ծածկագրերի ճիշտ կատարման համար:

ներմուծել smbus

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

Կոդը կարող է կատարվել `հրամանի տողում մուտքագրելով ստորև նշված հրամանը:

$> python HTS221.py

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

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

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

HTS221- ը կարող է օգտագործվել սպառողական տարբեր ապրանքների մեջ, ինչպիսիք են օդի խոնավացուցիչները և սառնարանները և այլն: Այս սենսորը նաև իր կիրառությունն է գտնում ավելի լայն ասպարեզում, ներառյալ Smart home automation, Industrial automation, շնչառական սարքավորումներ, ակտիվների և ապրանքների հետևում:

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