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

H3LIS331DL- ի և Raspberry Pi- ի միջոցով արագացման չափում. 4 քայլ
H3LIS331DL- ի և Raspberry Pi- ի միջոցով արագացման չափում. 4 քայլ

Video: H3LIS331DL- ի և Raspberry Pi- ի միջոցով արագացման չափում. 4 քայլ

Video: H3LIS331DL- ի և Raspberry Pi- ի միջոցով արագացման չափում. 4 քայլ
Video: Product Showcase: H3LIS331DL Triple Axis Accelerometer Breakout 2024, Նոյեմբեր
Anonim
Image
Image

H3LIS331DL- ը ցածր էներգիայի բարձր արդյունավետությամբ 3 առանցքի գծային արագացուցիչ է, որը պատկանում է «նանո» ընտանիքին ՝ թվային I²C սերիական ինտերֆեյսով: H3LIS331DL- ն ունի 100 գ/g 200 գ/± 400 գ ամբողջական օգտագործվող ընտրովի սանդղակներ և այն ունակ է չափել արագացումները ելքային տվյալների արագությամբ 0.5 Հց -ից մինչև 1 կՀց: H3LIS331DL- ը երաշխավորված է աշխատել -40 ° C- ից +85 ° C- ի ընդլայնված ջերմաստիճանի սահմաններում:

Այս ձեռնարկում մենք ցույց կտանք H3LIS331DL- ի և Raspberry Pi- ի փոխազդեցությունը ՝ օգտագործելով python- ը որպես ծրագրավորման լեզու:

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

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

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

1. H3LIS331DL

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

3. I2C մալուխ

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

5. Ethernet մալուխ

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

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

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

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

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

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

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

Քայլ 3. Արագացման չափման Python ծածկագիրը

Արագացման չափման Python ծածկագիրը
Արագացման չափման Python ծածկագիրը

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

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

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

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

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

ներմուծել smbus

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

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

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

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

# 0x27 (39) Միացման ռեժիմ, Տվյալների ելքային արագություն = 50 Հց# X, Y, Z-Axis միացված է

bus.write_byte_data (0x18, 0x20, 0x27)

# H3LIS331DL հասցե, 0x18 (24)# Ընտրեք կառավարման ռեգիստր 4, 0x23 (35)

# 0x00 (00) Շարունակական թարմացում, լայնածավալ ընտրություն = +/- 100 գ

bus.write_byte_data (0x18, 0x23, 0x00)

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

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

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

# X-Axis LSB, X-Axis MSB

data0 = bus.read_byte_data (0x18, 0x28)

տվյալներ 1 = bus.read_byte_data (0x18, 0x29)

# Փոխակերպեք տվյալներըxAccl = data1 * 256 + data0

եթե xAccl> 32767:

xAccl -= 65536

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

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

# Y-Axis LSB, Y-Axis MSB

data0 = bus.read_byte_data (0x18, 0x2A)

տվյալներ 1 = bus.read_byte_data (0x18, 0x2B)

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

yAccl = տվյալներ 1 * 256 + տվյալներ 0

եթե yAccl> 32767:

yAccl -= 65536

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

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

# Z-Axis LSB, Z-Axis MSB

data0 = bus.read_byte_data (0x18, 0x2C)

տվյալներ 1 = bus.read_byte_data (0x18, 0x2D)

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

zAccl = տվյալներ 1 * 256 + տվյալներ 0

եթե zAccl> 32767:

zAccl -= 65536

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

տպել «Արագացում X- առանցքում. %d» %xAccl

տպել «Արագացում Y- առանցքում. %d» %yAccl

տպել «Արագացում Z- առանցքում. %d» %zAccl

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

$> python H3LIS331DL.py gt; python H3LIS331DL.py

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

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

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

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

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