Raspberry Pi and MMA7455 example

The MMA7455L is a Digital Output (I2C/SPI), low power, low profile capacitive micromachined accelerometer featuring signal conditioning, a low pass filter, temperature compensation, self-test, configurable to detect 0g through interrupt pins (INT1 or INT2), and pulse detect for quick motion detection. 0g offset and sensitivity are factory set and require no external devices.

The 0g offset can be customer calibrated using assigned 0g registers and g-Select which allows for command selection for 3 acceleration ranges (2g/4g/8g). The MMA7455L includes a Standby Mode that makes it ideal for handheld battery powered electronics.

Features

Self-Test for Z-Axis
Low Voltage Operation: 2.4 V – 3.6 V
User Assigned Registers for Offset Calibration
Programmable Threshold Interrupt Output
Level Detection for Motion Recognition (Shock, Vibration, Freefall)
Pulse Detection for Single or Double Pulse Recognition
Selectable Sensitivity (±2g, ±4g, ±8g) for 8-bit Mode

The MMA7455 accelerometer is a sensor that can measure acceleration in three axes. This sensor is commonly available as a breakout board.

It requires VCC, GND , SCA and SCL to be connected.

 

Schematic/Layout

Vcc – Raspberry Pi 3.3v
Gnd – Raspberry Pi Gnd
SDA – Raspberry Pi Pin 3 (SDA1)
SCL – Raspberry Pi Pin 5 (SCL1)

Code

Save this as MMA7455.py

[codesyntax lang=”python”]

import smbus
import time

bus = smbus.SMBus(1)

# MMA7455L address, 0x1D
bus.write_byte_data(0x1D, 0x16, 0x01)

time.sleep(0.5)

# Read 6 bytes data back from 0x00
data=bus.read_i2c_block_data(0x1D, 0x00, 6)

# Convert the data to 10-bits
xAcc = (data[1] & 0x03) * 256 + data [0]
if xAcc > 511 :
	xAcc -= 1024
yAcc = (data[3] & 0x03) * 256 + data [2]
if yAcc > 511 :
	yAcc -= 1024
zAcc = (data[5] & 0x03) * 256 + data [4]
if zAcc > 511 :
	zAcc -= 1024

# Output data
print "Acceleration in X-Axis : %d" %xAcc
print "Acceleration in Y-Axis : %d" %yAcc
print "Acceleration in Z-Axis : %d" %zAcc

[/codesyntax]

 

Testing

Run this from the command line – sudo python MMA7455.py

 

Links

 

MMA7455 Accelerometer Sensor Module

Related posts

TLV493D magnetic sensor and Raspberry Pi 4 python example

SHT40 Digital Humidity Sensor and Raspberry Pi 4 python example

LTR390 UV Light Sensor a Raspberry Pi 4 in python

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More