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

Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 Steps
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 Steps

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 Steps

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 Steps
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, Հուլիսի
Anonim
Image
Image

MMA8452Q- ը խելացի, ցածր էներգիայի, երեք առանցքի, տարողունակ, միկրո մեքենայական արագացուցիչ է ՝ 12 բիթ թույլատրությամբ: Userկուն օգտվողի կողմից ծրագրավորվող տարբերակները տրամադրվում են արագացուցիչի ներկառուցված գործառույթների օգնությամբ, որոնք կարող են կարգավորվել երկու ընդհատող կապում: Այն ունի օգտվողի կողմից ընտրվող sc 2 գ/± 4 գ/g 8 գ ամբողջական սանդղակներ `բարձր անցման ֆիլտրով զտված տվյալներով, ինչպես նաև իրական ժամանակում հասանելի չզտված տվյալներով: Ահա դրա ցուցադրումը ազնվամորի pi- ի միջոցով `օգտագործելով python ծածկագիրը:

Քայլ 1: Այն, ինչ ձեզ հարկավոր է..

Այն, ինչ ձեզ պետք է.. !!
Այն, ինչ ձեզ պետք է.. !!

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

2. MMA8452Q

3. I²C մալուխ

4. I²C Shield ազնվամորի Pi- ի համար

5. Ethernet մալուխ

Քայլ 2: Միացումներ

Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ

Վերցրեք I2C վահան ազնվամորու pi- ի համար և նրբորեն մղեք այն ազնվամորի pi- ի gpio կապանքների վրա:

Այնուհետև I2C մալուխի մի ծայրը միացրեք MMA8452Q սենսորին, իսկ մյուս ծայրը ՝ I2C վահանին:

Միացրեք Ethernet մալուխը pi- ին կամ կարող եք օգտագործել WiFi մոդուլ:

Կապերը ցուցադրվում են վերևի նկարում:

Քայլ 3: Կոդ

Կոդ
Կոդ

MMA8452Q- ի Python կոդը կարելի է ներբեռնել մեր github պահոցից `ControlEverythingCommunity

Ահա հղումը:

Մենք օգտագործել ենք SMBus գրադարանը python կոդի համար, ազնվամորի pi- ի վրա SMBus տեղադրելու քայլերը նկարագրված են այստեղ.

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

Այստեղից կարող եք նաև պատճենել կոդը, այն տրվում է հետևյալ կերպ.

# Տարածված է ազատ կամքի լիցենզիայով:

# Օգտագործեք այն ինչպես ցանկանում եք, շահույթ կամ անվճար, պայմանով, որ այն տեղավորվում է դրա հետ կապված աշխատանքների լիցենզիաներում:

# MMA8452Q

# Այս կոդը նախատեսված է MMA8452Q_I2CS I2C մինի մոդուլի հետ աշխատելու համար:

ներմուծել smbus

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

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

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

# MMA8452Q հասցե, 0x1C (28)

# Ընտրեք Վերահսկիչ գրանցամատյան, 0x2A (42)

# 0x00 (00) StandBy ռեժիմ

bus.write_byte_data (0x1C, 0x2A, 0x00)

# MMA8452Q հասցե, 0x1C (28)

# Ընտրեք Վերահսկիչ գրանցամատյան, 0x2A (42)

# 0x01 (01) Ակտիվ ռեժիմ

bus.write_byte_data (0x1C, 0x2A, 0x01)

# MMA8452Q հասցե, 0x1C (28)

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

# 0x00 (00) Սահմանեք միջակայքը +/- 2 գ-ի վրա

bus.write_byte_data (0x1C, 0x0E, 0x00)

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

# MMA8452Q հասցե, 0x1C (28)

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

# Կարգավիճակի գրանցամատյան, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

տվյալներ = bus.read_i2c_block_data (0x1C, 0x00, 7)

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

xAccl = (տվյալներ [1] * 256 + տվյալներ [2]) / 16

եթե xAccl> 2047:

xAccl -= 4096

yAccl = (տվյալներ [3] * 256 + տվյալներ [4]) / 16

եթե yAccl> 2047:

yAccl -= 4096 z

Accl = (տվյալներ [5] * 256 + տվյալներ [6]) / 16

եթե zAccl> 2047:

zAccl -= 4096

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

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

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

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

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

MMA8452Q- ն ունի տարբեր ծրագրեր, որոնք ներառում են Էլեկտրոնային կողմնացույցի ծրագրեր, Ստատիկ կողմնորոշման հայտնաբերում, որոնք ներառում են Դիմանկար/Լանդշաֆտ, Վեր/վար, ձախ/աջ, հետևի/առջևի դիրքի նույնականացում, նոթատետր, էլեկտրոնային ընթերցող և նոութբուքի ցնցում և ազատ ընկնում, իրական ժամանակում կողմնորոշման հայտնաբերում, ներառյալ վիրտուալ իրականության և խաղային 3D օգտագործողի դիրքորոշման հետադարձ կապ, Իրական ժամանակի գործունեության վերլուծություն, ինչպիսիք են քայլաչափի քայլերի հաշվարկը, HDD- ի անկման անկման հայտնաբերումը, GPS- ի մեռած հաշիվ պահելը և շատ ավելին:

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