Tabla de contenido:

Raspberry Pi - Tutorial de Python con acelerómetro de 3 ejes ADXL345: 4 pasos
Raspberry Pi - Tutorial de Python con acelerómetro de 3 ejes ADXL345: 4 pasos

Video: Raspberry Pi - Tutorial de Python con acelerómetro de 3 ejes ADXL345: 4 pasos

Video: Raspberry Pi - Tutorial de Python con acelerómetro de 3 ejes ADXL345: 4 pasos
Video: 🆕 CÓMO INSTALAR Klipper 3D con ACELERÓMETRO ADXL345 en Artillery Genius 2024, Mes de julio
Anonim

El ADXL345 es un acelerómetro de 3 ejes pequeño, delgado y de potencia ultrabaja con medición de alta resolución (13 bits) de hasta ± 16 g. Los datos de salida digital están formateados como un complemento de dos de 16 bits y se puede acceder a ellos a través de la interfaz digital I2 C. Mide la aceleración estática de la gravedad en aplicaciones de detección de inclinación, así como la aceleración dinámica resultante de movimientos o golpes. Su alta resolución (3,9 mg / LSB) permite medir cambios de inclinación inferiores a 1,0 °. Aquí está la demostración con raspberry pi usando código Python.

Paso 1: ¡¡Lo que necesitas …

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

1. Raspberry Pi

2. ADXL345

3. Cable I²C

4. Escudo I²C para Raspberry Pi

5. Cable Ethernet

Paso 2: Conexión:

Conexión
Conexión
Conexión
Conexión
Conexión
Conexión
Conexión
Conexión

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 ADXL345 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 ADXL345 se puede descargar desde nuestro repositorio de GitHub - Dcube Store

Aquí está el enlace para el mismo:

github.com/DcubeTechVentures/ADXL345..

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.

# ADXL345

# Este código está diseñado para funcionar con el mini módulo ADXL345_I2CS I2C disponible en Dcube Store.

importar smbus

tiempo de importación

# Obtener bus I2C

bus = smbus. SMBus (1)

# Dirección ADXL345, 0x53 (83)

# Seleccionar registro de velocidad de ancho de banda, 0x2C (44) # 0x0A (10) Modo normal, velocidad de datos de salida = 100 Hz

bus.write_byte_data (0x53, 0x2C, 0x0A)

# Dirección ADXL345, 0x53 (83)

# Seleccione el registro de control de potencia, 0x2D (45)

# 0x08 (08) Desactivación de suspensión automática

bus.write_byte_data (0x53, 0x2D, 0x08)

# Dirección ADXL345, 0x53 (83)

# Seleccionar registro de formato de datos, 0x31 (49)

# 0x08 (08) Autoprueba deshabilitada, interfaz de 4 cables

# Resolución completa, rango = +/- 2g

bus.write_byte_data (0x53, 0x31, 0x08)

tiempo. de sueño (0.5)

# Dirección ADXL345, 0x53 (83)

# Leer datos de 0x32 (50), 2 bytes

# LSB del eje X, MSB del eje X

data0 = bus.read_byte_data (0x53, 0x32)

data1 = bus.read_byte_data (0x53, 0x33)

# Convierte los datos a 10 bits

xAccl = ((datos1 y 0x03) * 256) + datos0

si xAccl> 511:

xAccl - = 1024

# Dirección ADXL345, 0x53 (83)

# Leer datos de 0x34 (52), 2 bytes

# LSB del eje Y, MSB del eje Y

data0 = bus.read_byte_data (0x53, 0x34)

data1 = bus.read_byte_data (0x53, 0x35)

# Convierte los datos a 10 bits

yAccl = ((datos1 y 0x03) * 256) + datos0

si yAccl> 511:

yAccl - = 1024

# Dirección ADXL345, 0x53 (83)

# Leer datos de 0x36 (54), 2 bytes

# LSB del eje Z, MSB del eje Z

data0 = bus.read_byte_data (0x53, 0x36)

data1 = bus.read_byte_data (0x53, 0x37)

# Convierte los datos a 10 bits

zAccl = ((datos1 y 0x03) * 256) + datos0

si zAccl> 511:

zAccl - = 1024

# 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:

ADXL345 es un acelerómetro de 3 ejes pequeño, delgado y ultrabajo de potencia que puede emplearse en teléfonos móviles, instrumentación médica, etc. Su aplicación también incluye juegos y dispositivos señaladores, instrumentación industrial, dispositivos de navegación personal y protección de unidades de disco duro (HDD).

Recomendado: