Paso 3: código:
El código de python para MMA8452Q puede descargarse desde el repositorio de github-ControlEverythingCommunity
Aquí está el enlace para el mismo:
https://github.com/ControlEverythingCommunity/MMA8...
La hoja de datos de MMA8452Q se puede encontrar aquí:
https://S3.amazonaws.com/controleverything.Media/c...
Hemos utilizado SMBus biblioteca de código de python, los pasos para instalar SMBus en frambuesa pi se describe aquí:
https://PyPI.Python.org/PyPI/SMBus-cffi/0.5.1
También puede copiar el código desde aquí, se da como sigue:
# Distribuido con una licencia de libre albedrío.
# Usar cualquier manera desea, beneficio o libre, siempre cabe en las licencias de sus obras anexas.
# MMA8452Q
# Este código está diseñado para trabajar con el módulo de Mini de I2C MMA8452Q_I2CS de ControlEverything.com.
# https://www.controleverything.com/content/Accelor...
importación de smbus
tiempo de importación
# Coger el autobús de I2C
autobús = smbus. SMBus(1)
# Dirección MMA8452Q, 0x1C(28)
# Control seleccione Registro, 0x2A(42)
# 0x00(00) el modo de espera
Bus.write_byte_data (0x1C, 0x2A, 0 x 00)
# Dirección MMA8452Q, 0x1C(28)
# Control seleccione Registro, 0x2A(42)
# 0x01(01) el modo activo
Bus.write_byte_data (0x1C, 0x2A, 0 x 01)
# Dirección MMA8452Q, 0x1C(28)
# Configuración seleccione Registro, 0x0E(14)
# 0x00(00) gama Set a +-2g
Bus.write_byte_data (0x1C, 0x0E, 0 x 00)
Time.Sleep(0.5)
# Dirección MMA8452Q, 0x1C(28)
# Leer los datos de 0x00(0), 7 bytes
# Status register, MSB eje x eje x LSB, eje y MSB, LSB de eje y, z MSB, LSB del eje z
datos = bus.read_i2c_block_data (0x1C, 0 x 00, 7)
# Convertir los datos
xAccl = (datos [1] * 256 + data[2]) / 16
Si xAccl > 2047:
xAccl-= 4096
yAccl = (datos [3] * 256 + data[4]) / 16
Si yAccl > 2047:
yAccl = 4096 z
AgCl = (datos [5] * 256 + data[6]) / 16
Si zAccl > 2047:
zAccl-= 4096
# Salida de datos a pantalla
Imprimir "aceleración en el eje x: %d" % xAccl
Imprimir "aceleración en el eje y: %d" % yAccl
Imprimir "aceleración en el eje z: %d" % zAccl