Tabla de contenido:
Video: Raspberry Pi - Tutorial de Python con acelerómetro de 3 ejes ADXL345: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
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 …
1. Raspberry Pi
2. ADXL345
3. Cable I²C
4. Escudo I²C para Raspberry Pi
5. Cable Ethernet
Paso 2: 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:
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:
Control de movimiento con Raspberry Pi y LIS3DHTR, acelerómetro de 3 ejes, usando Python: 6 pasos
Control de movimiento con Raspberry Pi y LIS3DHTR, acelerómetro de 3 ejes, usando Python: La belleza nos rodea, pero por lo general, necesitamos estar caminando en un jardín para saberlo. - Rumi Como el grupo educado que parecemos ser, invertimos la gran mayoría de nuestra energía trabajando antes que nuestras computadoras y teléfonos celulares. Por eso, con frecuencia dejamos que nuestro bienestar
Acelerómetro de 3 ejes, ADXL345 con Raspberry Pi usando Python: 6 pasos
Acelerómetro de 3 ejes, ADXL345 con Raspberry Pi usando Python: pensando en un dispositivo que pueda verificar el punto en el que su Offroader está inclinado para demorarse. ¿No sería agradable si alguien se ajusta cuando existe la posibilidad de volcarse? Obviamente, sí. Sería tru
Brazo de robot de bricolaje de 6 ejes (con motores paso a paso): 9 pasos (con imágenes)
Brazo de robot DIY de 6 ejes (con motores paso a paso): Después de más de un año de estudios, prototipos y varios fallos logré construir un robot de hierro / aluminio con 6 grados de libertad controlado por motores paso a paso, la parte más difícil fue el diseño porque Quería lograr 3 objetivos fundamentales
Acelerómetro de 3 ejes LIS2HH12 Módulo: 10 pasos (con imágenes)
Acelerómetro de 3 ejes LIS2HH12 Módulo: este Instructable se considera un nivel principiante con algo de experiencia con el software arduino y la soldadura. El módulo LIS2HH12 está hecho por Tiny9. Tiny9 es una nueva empresa que se dedica a la venta de módulos de sensores para aficionados al bricolaje, empresas o inventores. Allí
Preliminar * SPI en la Pi: comunicación con un acelerómetro SPI de 3 ejes usando una Raspberry Pi: 10 pasos
Preliminar * SPI en Pi: comunicación con un acelerómetro SPI de 3 ejes usando una Raspberry Pi: guía paso a paso sobre cómo configurar Raspbian y comunicarse con un dispositivo SPI usando la biblioteca SPI bcm2835 (¡NO un poco golpeado!) muy preliminar … Necesito agregar mejores imágenes de la conexión física y trabajar en algunos de los códigos incómodos