Orodha ya maudhui:

Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Python Mafunzo: Hatua 4
Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Python Mafunzo: Hatua 4

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

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Python Mafunzo: Hatua 4
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, Julai
Anonim
Image
Image

MMA8452Q ni smart, nguvu ya chini, mhimili tatu, capacitive, accelerometer ya micromachined na bits 12 za azimio. Chaguo zinazoweza kubadilika za mtumiaji hutolewa kwa msaada wa kazi zilizopachikwa kwenye kipima kasi, kinachoweza kusanidiwa kwa pini mbili za kukatiza. Inayo mizani kamili inayoweza kuchagua ya ± 2g / ± 4g / ± 8g na data iliyochujwa ya kupita-kupita iliyochujwa na vile vile data isiyochujwa inapatikana wakati halisi. Hapa kuna maonyesho yake na rasipberry pi kwa kutumia nambari ya chatu.

Hatua ya 1: Unachohitaji.. !

Unachohitaji..!!
Unachohitaji..!!

1. Raspberry Pi

2. MMA8452Q

3. I²C Cable

4. I²C Shield kwa Raspberry Pi

5. Cable ya Ethernet

Hatua ya 2: Miunganisho:

Miunganisho
Miunganisho
Miunganisho
Miunganisho
Miunganisho
Miunganisho
Miunganisho
Miunganisho

Chukua ngao ya I2C kwa pi ya raspberry na usukume kwa upole juu ya pini za gpio za pi ya raspberry.

Kisha unganisha mwisho mmoja wa kebo ya I2C kwenye sensa ya MMA8452Q na mwisho mwingine kwenye ngao ya I2C.

Pia unganisha kebo ya Ethernet kwa pi au unaweza kutumia moduli ya WiFi.

Uunganisho umeonyeshwa kwenye picha hapo juu.

Hatua ya 3: Nambari:

Nambari
Nambari

Nambari ya chatu ya MMA8452Q inaweza kupakuliwa kutoka kwa hazina yetu ya github- ControlEverythingCommunity

Hapa kuna kiunga.

Tumetumia maktaba ya SMBus kwa nambari ya chatu, hatua za kufunga SMBus kwenye rasiberi pi imeelezewa hapa:

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

Unaweza pia kunakili nambari kutoka hapa, imepewa kama ifuatavyo:

# Imesambazwa na leseni ya hiari.

# Itumie kwa njia yoyote unayotaka, faida au bure, mradi inalingana na leseni za kazi zinazohusiana.

# MMA8452Q

Nambari hii imeundwa kufanya kazi na MMA8452Q_I2CS I2C Mini Module.

kuagiza smbus

muda wa kuagiza

# Pata basi ya I2C

basi = smbus. SMBus (1)

Anwani ya # MMA8452Q, 0x1C (28)

# Chagua rejista ya Udhibiti, 0x2A (42)

# 0x00 (00) mode ya StandBy

kuandika. data_byte_data (0x1C, 0x2A, 0x00)

Anwani ya # MMA8452Q, 0x1C (28)

# Chagua sajili ya Udhibiti, 0x2A (42)

# 0x01 (01) Modi inayotumika

kuandika. data_byte_data (0x1C, 0x2A, 0x01)

Anwani ya # MMA8452Q, 0x1C (28)

# Chagua sajili ya Usanidi, 0x0E (14)

# 0x00 (00) Weka masafa kuwa +/- 2g

andika_data_ya data (0x1C, 0x0E, 0x00)

saa. kulala (0.5)

Anwani ya # MMA8452Q, 0x1C (28)

# Soma data nyuma kutoka 0x00 (0), 7 ka

# Daftari la hali, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

data = bus.read_i2c_block_data (0x1C, 0x00, 7)

# Badilisha data

xAccl = (data [1] * 256 + data [2]) / 16

ikiwa xAccl> 2047:

xAccl - = 4096

yAccl = (data [3] * 256 + data [4]) / 16

ikiwa yAccl> 2047:

yAccl - = 4096 z

Accl = (data [5] * 256 + data [6]) / 16

ikiwa zAccl> 2047:

zAccl - = 4096

# Pato data kwa screen

chapisha "Kuongeza kasi katika X-Axis:% d"% xAccl

chapisha "Kuongeza kasi katika Y-Axis:% d"% yAccl

chapisha "Kuongeza kasi katika Z-Axis:% d"% zAccl

Hatua ya 4: Maombi:

MMA8452Q ina programu anuwai ambazo ni pamoja na matumizi ya E-Compass, kugundua mwelekeo wa tuli ambao unajumuisha Picha / Mazingira, Juu / Chini, Kushoto / Kulia, Kitambulisho cha nafasi ya nyuma / Mbele, Daftari, msomaji wa e, na Kugundua Laptop na Kugundua Freefall, Wakati wa kweli utambuzi wa mwelekeo ikiwa ni pamoja na ukweli halisi na maoni ya nafasi ya mtumiaji wa 3D ya michezo ya kubahatisha, uchambuzi wa shughuli za wakati halisi kama vile kuhesabu hatua ya pedometer, kugundua kuteremka kwa HDD, hesabu ya GPS iliyokufa na mengi zaidi.

Ilipendekeza: