Tabla de contenido:
- Paso 1: Hardware básico que requerimos
- Paso 2: Conexión del hardware
- Paso 3: codificación Python para Raspberry Pi
- Paso 4: La practicidad del código
- Paso 5: Aplicaciones y características
- Paso 6: Conclusión
Video: Acelerómetro de 3 ejes, ADXL345 con Raspberry Pi usando Python: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
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
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
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
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
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:
Raspberry Pi - Tutorial de Python con acelerómetro de 3 ejes ADXL345: 4 pasos
Raspberry Pi - Acelerómetro de 3 ejes ADXL345 Tutorial de Python: El ADXL345 es un acelerómetro de 3 ejes pequeño, delgado, de ultra baja potencia 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 el
Raspberry Pi - Tutorial de Java con acelerómetro de 3 ejes ADXL345: 4 pasos
Raspberry Pi - Acelerómetro de 3 ejes ADXL345 Tutorial de Java: 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 el
Tutorial Python del acelerómetro digital Raspberry Pi MMA8452Q de 3 ejes de 12 bits / 8 bits: 4 pasos
Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Acelerómetro digital Python Tutorial: El MMA8452Q es un acelerómetro inteligente, de baja potencia, tres ejes, capacitivo, micromecanizado con 12 bits de resolución. Se proporcionan opciones flexibles programables por el usuario con la ayuda de funciones integradas en el acelerómetro, configurables para dos interrupciones
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
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