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

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

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

Video: BMA250- ի և Raspberry Pi- ի միջոցով արագացման չափում. 4 քայլ
Video: Particle Photon BMA250 Digital Triaxial Acceleration Sensor Tutorial 2024, Նոյեմբեր
Anonim
Image
Image

BMA250- ը փոքր, բարակ, ծայրահեղ ցածր հզորության, 3 առանցքի արագացուցիչ է `բարձր լուծաչափով (13 բիթ) չափմամբ մինչև ± 16 գ: Թվային ելքային տվյալները ձևաչափվում են որպես 16-բիթ երկակի լրացում և հասանելի են I2C թվային ինտերֆեյսի միջոցով: Չափում է թեքության զգայարանների ծանրության ստատիկ արագացումը, ինչպես նաև շարժման կամ հարվածի հետևանքով առաջացած դինամիկ արագացումը: Դրա բարձր լուծաչափը (3.9 մգ/LSB) թույլ է տալիս չափել թեքության փոփոխությունները 1.0 ° -ից պակաս:

Այս ձեռնարկում մենք մտադիր ենք չափել արագացումը բոլոր երեք ուղղահայաց առանցքներում ՝ օգտագործելով BMA250 և Raspberry Pi: Սենսորը ծրագրավորվել է պիթոնի լեզվով:

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

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

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

1. BMA250

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

3. I2C մալուխ

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

5. Ethernet մալուխ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ներմուծել smbus

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

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

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

# Ընտրեք տիրույթի ընտրության գրանցամատյան, 0x0F (15)

# 0x03 (03) Սահմանել տիրույթ = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# BMA250 հասցե, 0x18 (24)# Ընտրեք թողունակության գրանցամատյան, 0x10 (16)

# 0x08 (08) Թողունակություն = 7.81 Hzbus.write_byte_data (0x18, 0x10, 0x08)

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

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

# Կարդացեք տվյալները 0x02 (02) -ից, 6 բայթ

# X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB

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

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

xAccl = (տվյալներ [1] * 256 + (տվյալներ [0] և 0xC0)) / 64

եթե xAccl> 511:

xAccl -= 1024

yAccl = (տվյալներ [3] * 256 + (տվյալներ [2] և 0xC0)) / 64

եթե yAccl> 511:

yAccl -= 1024

zAccl = (տվյալներ [5] * 256 + (տվյալներ [4] և 0xC0)) / 64

եթե zAccl> 511:

zAccl -= 1024

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

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

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

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

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

$> պիթոն BMA250.py gt; պիթոն BMA250.py

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

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

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

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

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