Tabla de contenido:

Tutorial Python del acelerómetro digital Raspberry Pi MMA8452Q de 3 ejes de 12 bits / 8 bits: 4 pasos
Tutorial Python del acelerómetro digital Raspberry Pi MMA8452Q de 3 ejes de 12 bits / 8 bits: 4 pasos

Video: Tutorial Python del acelerómetro digital Raspberry Pi MMA8452Q de 3 ejes de 12 bits / 8 bits: 4 pasos

Video: Tutorial Python del acelerómetro digital Raspberry Pi MMA8452Q de 3 ejes de 12 bits / 8 bits: 4 pasos
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, Noviembre
Anonim
Image
Image

El MMA8452Q es un acelerómetro inteligente micromaquinado capacitivo de tres ejes, de bajo consumo y con 12 bits de resolución. Las opciones flexibles programables por el usuario se proporcionan con la ayuda de funciones integradas en el acelerómetro, configurables en dos pines de interrupción. Tiene escalas completas seleccionables por el usuario de ± 2g / ± 4g / ± 8g con datos filtrados con filtro de paso alto, así como datos no filtrados disponibles en tiempo real. Aquí está su demostración con raspberry pi usando código Python.

Paso 1: ¡¡Lo que necesitas …

Que necesitas..!!
Que necesitas..!!

1. Raspberry Pi

2. MMA8452Q

3. Cable I²C

4. Escudo I²C para Raspberry Pi

5. Cable Ethernet

Paso 2: Conexiones:

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

Tome un protector I2C para raspberry pi y empújelo suavemente sobre los pines gpio de raspberry pi.

Luego, conecte un extremo del cable I2C al sensor MMA8452Q y el otro extremo al blindaje I2C.

También conecte el cable Ethernet al pi o puede usar un módulo WiFi.

Las conexiones se muestran en la imagen de arriba.

Paso 3: Código:

Código
Código

El código Python para MMA8452Q se puede descargar desde nuestro repositorio de github: ControlEverythingCommunity

Aqui esta el link.

Hemos utilizado la biblioteca SMBus para el código python, los pasos para instalar SMBus en raspberry pi se describen aquí:

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

También puede copiar el código desde aquí, se proporciona de la siguiente manera:

# Distribuido con una licencia de libre albedrío.

# Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.

# MMA8452Q

# Este código está diseñado para funcionar con el mini módulo MMA8452Q_I2CS I2C.

importar smbus

tiempo de importación

# Obtener bus I2C

bus = smbus. SMBus (1)

# Dirección MMA8452Q, 0x1C (28)

# Seleccione el registro de control, 0x2A (42)

# 0x00 (00) Modo de espera

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

# Dirección MMA8452Q, 0x1C (28)

# Seleccione el registro de control, 0x2A (42)

# 0x01 (01) Modo activo

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

# Dirección MMA8452Q, 0x1C (28)

# Seleccionar registro de configuración, 0x0E (14)

# 0x00 (00) Establecer rango en +/- 2g

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

tiempo. de sueño (0.5)

# Dirección MMA8452Q, 0x1C (28)

# Leer datos de 0x00 (0), 7 bytes

# Registro de estado, eje X MSB, eje X LSB, eje Y MSB, eje Y LSB, eje Z MSB, eje Z LSB

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

# Convierte los datos

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

si xAccl> 2047:

xAccl - = 4096

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

si yAccl> 2047:

yAccl - = 4096 z

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

si zAccl> 2047:

zAccl - = 4096

# Salida de datos a la 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

Paso 4: Aplicaciones:

MMA8452Q tiene varias aplicaciones que incluyen aplicaciones de brújula electrónica, detección de orientación estática que incorporan identificación de posición vertical / horizontal, arriba / abajo, izquierda / derecha, posterior / frontal, computadora portátil, lector electrónico y detección de caída libre y caída libre de computadora portátil, en tiempo real detección de orientación que incluye realidad virtual y retroalimentación de posición del usuario de juegos en 3D, análisis de actividad en tiempo real, como conteo de pasos con podómetro, detección de caída libre para HDD, respaldo GPS a estima y mucho más.

Recomendado: