Tabla de contenido:

Acelerómetro de 3 ejes, ADXL345 con Raspberry Pi usando Python: 6 pasos
Acelerómetro de 3 ejes, ADXL345 con Raspberry Pi usando Python: 6 pasos

Video: Acelerómetro de 3 ejes, ADXL345 con Raspberry Pi usando Python: 6 pasos

Video: Acelerómetro de 3 ejes, ADXL345 con Raspberry Pi usando Python: 6 pasos
Video: MPU6050 Acelerómetro y Giróscopo Teoría y Práctica con Raspberry Pi Pico y MicroPython 2024, Noviembre
Anonim
Acelerómetro de 3 ejes, ADXL345 con Raspberry Pi con Python
Acelerómetro de 3 ejes, ADXL345 con Raspberry Pi con Python

Pensando en un dispositivo que pueda comprobar el punto en el que se inclina su Offroader para demorarse. ¿No sería agradable si alguien se ajusta cuando existe la posibilidad de volcarse? Obviamente, sí. Sería realmente útil para las personas que aman las montañas y los viajes de empresa.

Sin lugar a dudas, un período verdaderamente brillante de evaluación avanzada de figuras, IoT está sobre nosotros. Como amantes de los gadgets y la programación, creemos que Raspberry Pi, la PC micro Linux ha tratado las habilidades creativas de las personas en general, llevando consigo una explosión en metodologías innovadoras. Entonces, ¿cuáles son los resultados imaginables que podemos hacer en caso de que tengamos una Raspberry Pi y un acelerómetro de 3 ejes cerca? ¡Deberíamos descubrirlo! En esta tarea, detectaremos la aceleración en 3 ejes, X, Y y Z utilizando Raspberry Pi y ADXL345, un acelerómetro de 3 ejes. Así que deberíamos observar en esta excursión para fabricar un marco para medir la aceleración tridimensional hacia arriba o G-Force.

Paso 1: Hardware básico que requerimos

Hardware básico que requerimos
Hardware básico que requerimos
Hardware básico que requerimos
Hardware básico que requerimos
Hardware básico que requerimos
Hardware básico que requerimos

Los problemas fueron menores para nosotros, ya que tenemos un montón de cosas en las que trabajar. No obstante, sabemos lo problemático que es para otros montar la pieza correcta en el momento perfecto desde el lugar oportuno y eso se justifica independientemente de cada centavo. Por eso te ayudamos en todas las regiones. Lea lo siguiente para obtener una lista completa de piezas.

1. Raspberry Pi

El paso inicial fue adquirir una placa Raspberry Pi. Esta pequeña computadora de baja potencia proporciona una base barata y generalmente simple para empresas de electrónica, Internet de las cosas (IoT), ciudades inteligentes y educación escolar.

2. Escudo I2C para Raspberry Pi

Lo principal que realmente le falta a la Raspberry Pi es un puerto I²C. Entonces, para eso, el conector TOUTPI2 I²C le da la sensación de utilizar Rasp Pi con MULTIPLE I²C dispositivos. Es accesible en la tienda DCUBE.

3. Acelerómetro de 3 ejes, ADXL345

Fabricado por Analog Devices, el ADXL345 es un acelerómetro de 3 ejes de baja potencia con medición de alta resolución de 13 bits de hasta ± 16 g. Adquirimos este sensor de DCUBE Store

4. Cable de conexión

Teníamos el cable de conexión I2C accesible en DCUBE Store

5. Cable micro USB

¡El más levemente confundido, pero más estricto en lo que respecta a la necesidad de energía, es el Raspberry Pi! El método más sencillo para encender la Raspberry Pi es mediante el cable Micro USB.

6. El acceso web es una necesidad

El acceso a la web se puede habilitar a través de un cable Ethernet (LAN) asociado con una red local y la web. Por otro lado, puede asociarse con una red inalámbrica mediante un dongle inalámbrico USB, que requerirá configuración.

7. Cable HDMI / Acceso remoto

Con el cable HDMI a bordo, puede conectarlo a un televisor digital oa un monitor. ¡Necesito dinero en efectivo! Raspberry Pi se puede acceder de forma remota a la utilización de estrategias distintivas como SSH y acceso a través de la Web. Puede utilizar el software de origen PuTTYopen.

Paso 2: Conexión del hardware

Conexión del hardware
Conexión del hardware
Conexión del hardware
Conexión del hardware
Conexión del hardware
Conexión del hardware
Conexión del hardware
Conexión del hardware

Haz el circuito de acuerdo con el esquema que aparece. Dibuja un esquema y sigue la configuración deliberadamente.

Conexión de Raspberry Pi y I2C Shield

Por encima de todo, tome la Raspberry Pi y ubique el escudo I2C en ella. Presione el Shield con delicadeza sobre los pines GPIO de Pi y terminamos con esta progresión tan simple como un pastel (vea el complemento).

Conexión del sensor y Raspberry Pi

Tome el sensor y la interfaz del cable I2C con él. Para el funcionamiento apropiado de este cable, recuerde que la salida I2C SIEMPRE se asocia con la entrada I2C. Lo mismo debe tomarse después para la Raspberry Pi con el escudo I2C montado sobre los pines GPIO.

Prescribimos la utilización del cable I2C, ya que refuta el requisito de examinar detenidamente los pines, las soldaduras y el malestar causado incluso por el más mínimo error. Con este cable plug and play básico, puede introducir, intercambiar dispositivos o agregar más dispositivos a una aplicación fácilmente. Esto simplifica las cosas.

Nota: El cable marrón debe seguir de manera confiable la conexión de tierra (GND) entre la salida de un dispositivo y la entrada de otro dispositivo

La red web es clave

Para que nuestra empresa sea una victoria, necesitamos una conexión web para nuestra Raspberry Pi. Para ello, tiene alternativas como conectar un cable Ethernet (LAN) con el sistema doméstico. Además, como una opción, sin embargo, una ruta útil es utilizar un conector WiFi. Algunas veces para esto, necesita un controlador para que funcione. Así que inclínate hacia el que tiene Linux en la descripción.

Fuente de alimentación

Enchufe el cable Micro USB en el conector de alimentación de Raspberry Pi. Enciéndelo y listo.

Conexión a la pantalla

Podemos tener el cable HDMI asociado a otra pantalla. En algunos casos, debe acceder a una Raspberry Pi sin conectarla a una pantalla o es posible que deba ver algunos datos de ella desde otro lugar. Es posible que existan enfoques innovadores y financieramente inteligentes para hacerlo. Uno de ellos está utilizando SSH (inicio de sesión remoto de línea de comandos). También puede utilizar el software PuTTY para eso.

Paso 3: codificación Python para Raspberry Pi

Codificación Python para Raspberry Pi
Codificación Python para Raspberry Pi

El código Python para Raspberry Pi y el sensor ADXL345 está disponible en nuestro repositorio de Github.

Antes de continuar con el código, asegúrese de leer las pautas que se proporcionan en el documento Léame y configure su Raspberry Pi según se indica. Simplemente se detendrá durante un minuto para hacerlo.

Un acelerómetro es un dispositivo que mide la aceleración adecuada; la aceleración adecuada no es lo mismo que la aceleración coordinada (tasa de cambio de velocidad). Los modelos de uno y varios ejes del acelerómetro son accesibles para identificar la magnitud y la dirección de la aceleración adecuada, como una cantidad vectorial, y se pueden utilizar para detectar la orientación, coordinar la aceleración, la vibración, el impacto y la caída en un medio resistivo.

El código es sencillo ante usted y está en la estructura más sencilla que pueda imaginar y no debería tener problemas.

# Distribuido con una licencia de libre albedrío. # Úselo de la forma que desee, lucrativa o gratuita, siempre que se ajuste a 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 dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -módulo/

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) # Seleccionar registro de control de potencia, 0x2D (45) # 0x08 (08) Auto Sleep deshabilitar bus.write_byte_data (0x53, 0x2D, 0x08) # Dirección ADXL345, 0x53 (83) # Seleccionar registro de formato de datos, 0x31 (49) # 0x08 (08) Autoprueba deshabilitada, 4 hilos interfaz # 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 # X-Axis LSB, X-Axis MSB 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 # Z-Axis LSB, Z-Axis MSB 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

print "Aceleración en el eje X:% d"% xAccl print "Aceleración en el eje Y:% d"% yAccl print "Aceleración en el eje Z:% d"% zAccl

Paso 4: La practicidad del código

La practicidad del código
La practicidad del código

Descargue (o git pull) el código de Github y ábralo en la Raspberry Pi.

Ejecute los comandos para compilar y cargar el código en el terminal y vea la salida en Monitor. Tras unos instantes, mostrará cada uno de los parámetros. Después de asegurarse de que todo funcione fácilmente, puede llevar esta empresa a una tarea mayor.

Paso 5: Aplicaciones y características

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. El ADXL345 es apropiado para aplicaciones de teléfonos móviles. Cuantifica la aceleración estática de la gravedad en aplicaciones de detección de inclinación y, además, la aceleración dinámica que se avecina debido al movimiento o los golpes. Otras aplicaciones incluyen dispositivos como teléfonos, instrumentación médica, juegos y dispositivos señaladores, instrumentación industrial, dispositivos de navegación personal y protección de la unidad de disco duro (HDD).

Paso 6: Conclusión

Espero que esta tarea motive una mayor experimentación. Este sensor I2C es extraordinariamente flexible, económico y accesible. Dado que es un sistema en gran medida impermanente, hay formas interesantes de ampliar esta tarea e incluso mejorarla.

Por ejemplo, puede comenzar con la idea de un inclinómetro usando ADXL345 y Raspberry Pi. En el proyecto anterior, hemos utilizado cálculos básicos. Puede improvisar el código para valores G, ángulos de pendiente (o inclinación), elevación o depresión de un objeto con respecto a la gravedad. Luego, puede verificar las opciones de avance como los ángulos de rotación para balanceo (eje de adelante hacia atrás, X), cabeceo (eje de lado a lado, Y) y guiñada (eje vertical, Z). Este acelerómetro muestra 3-D G-Forces. Por lo tanto, podría utilizar este sensor de varias maneras que pueda considerar.

Para su comodidad, tenemos un fascinante ejercicio instructivo en video en YouTube que puede ayudarlo en su investigación. Confiar en que esta empresa motiva una mayor exploración. ¡Sigue contemplando! Tenga en cuenta que debe buscar, ya que continuamente surgen más.

Recomendado: