Talaan ng mga Nilalaman:

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

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

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Python Tutorial: 4 Mga Hakbang
Video: #121 Weekly Roundup #30 - New Maker Products 2024, Nobyembre
Anonim
Image
Image

Ang MMA8452Q ay isang matalino, mababang lakas, three-axis, capacitive, micromachined accelerometer na may 12 piraso ng resolusyon. Ang mga nababaluktot na pagpipilian na maaaring mai-program ng gumagamit ay ibinibigay sa tulong ng mga naka-embed na pag-andar sa accelerometer, mai-configure sa dalawang nakakagambala na mga pin. Mayroon itong mapipiling gumagamit na buong kaliskis na ± 2g / ± 4g / ± 8g na may high-pass filter na na-filter na data pati na rin ang hindi na-filter na data na magagamit na real-time. Narito ang pagpapakita nito gamit ang raspberry pi gamit ang python code.

Hakbang 1: Ano ang Kailangan Mo.. !

Ang iyong kailangan..!!
Ang iyong kailangan..!!

1. Raspberry Pi

2. MMA8452Q

3. I²C Cable

4. I²C Shield para sa Raspberry Pi

5. Ethernet Cable

Hakbang 2: Mga Koneksyon:

Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon

Kumuha ng isang kalasag I2C para sa raspberry pi at dahan-dahang itulak ito sa mga gpio pin ng raspberry pi.

Pagkatapos ikonekta ang isang dulo ng I2C cable sa MMA8452Q sensor at ang iba pang mga dulo sa I2C kalasag.

Ikonekta din ang Ethernet cable sa pi o maaari kang gumamit ng isang module ng WiFi.

Ang mga koneksyon ay ipinapakita sa larawan sa itaas.

Hakbang 3: Code:

Code
Code

Ang python code para sa MMA8452Q ay maaaring ma-download mula sa aming github repository- ControlEverythingComunity

Nandito ang link.

Gumamit kami ng SMBus library para sa python code, ang mga hakbang upang mai-install ang SMBus sa raspberry pi ay inilarawan dito:

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

Maaari mo ring kopyahin ang code mula dito, ibinibigay ito tulad ng sumusunod:

# Ipinamamahagi ng isang lisensyang malaya ang kalooban.

# Gamitin ito sa anumang paraan na nais mo, kumita o libre, sa kondisyon na umaangkop ito sa mga lisensya ng mga nauugnay na gawa nito.

# MMA8452Q

# Ang code na ito ay dinisenyo upang gumana sa MMA8452Q_I2CS I2C Mini Module.

import smbus

oras ng pag-import

# Kumuha ng I2C bus

bus = smbus. SMBus (1)

# MMA8452Q address, 0x1C (28)

# Piliin ang Rehistro ng kontrol, 0x2A (42)

# 0x00 (00) StandBy mode

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

# MMA8452Q address, 0x1C (28)

# Piliin ang Rehistro ng kontrol, 0x2A (42)

# 0x01 (01) Aktibong mode

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

# MMA8452Q address, 0x1C (28)

# Piliin ang Rehistro ng pag-configure, 0x0E (14)

# 0x00 (00) Itakda ang saklaw sa +/- 2g

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

oras. pagtulog (0.5)

# MMA8452Q address, 0x1C (28)

# Basahin ang data pabalik mula sa 0x00 (0), 7 bytes

# Rehistro sa katayuan, 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)

# I-convert ang data

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

kung xAccl> 2047:

xAccl - = 4096

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

kung yAccl> 2047:

yAccl - = 4096 z

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

kung zAccl> 2047:

zAccl - = 4096

# Data ng output sa screen

i-print ang "Acceleration in X-Axis:% d"% xAccl

i-print ang "Acceleration in Y-Axis:% d"% yAccl

i-print ang "Acceleration in Z-Axis:% d"% zAccl

Hakbang 4: Mga Aplikasyon:

Ang MMA8452Q ay may iba't ibang mga application na may kasamang mga application ng E-Compass, detalyadong orientation na pagtuklas na nagsasama ng Portrait / Landscape, Pataas / Pababa, Kaliwa / Kanan, Pagkakakilala sa posisyon ng Back / Front, Notebook, e-reader, at Pagtuklas ng Laptop Tumble at Freefall, Real-time ang pagtuklas ng oryentasyon kabilang ang virtual reality at gaming feedback ng posisyon ng gumagamit ng 3D, pagtatasa ng aktibidad sa real-time tulad ng pagbibilang ng hakbang ng pedometer, pagtuklas ng freefall drop para sa HDD, patay-reckoning backup ng GPS at marami pa.

Inirerekumendang: