0. Componentes y programación necesaria para el control del módulo acelerómetro de 3 ejes ADXL345 con Arduino

Componentes requeridos:

{Product:2000}{Product:224}

I. Cómo utilizar un acelerómetro con Arduino

Este corto tutorial explica cómo utilizar un acelerómetro ADXL345. Este módulo acelerómetro es un dispositivo electromecánico que mide la fuerza de aceleración debida a la gravedad en unidades g.

  • Es un acelerómetro micromecanizado capacitivo de los 3 ejes X, Y y Z. Estos son independientes, lo que también se llama 3 DOF (Degrees Of Freedom).
  • También es posible determinar la orientación del sensor, gracias a la acción de la fuerza de la gravedad.
  • El módulo viene con un bloque de memoria FIFO que almacena hasta 32 conjuntos X, Y, Z.
  • Este sensor es además de muy bajo consumo, tan solo 45 µA en modo de medición y 0.1 µA en standby. 
  • En cuanto a la comunicación y obtención de los datos medidos, puede realizarse por bus SPI o I2C.
  • El ADXL345 tiene un rango de medición ajustable con alta precisión superior a 1º entre ±2g, ±4g, ±8g, ±16g, y una alta resolución de hasta 13 bits, con una sensibilidad de 40mg/LSB en todos los rangos.
  • Otra de las características de este sensor es que tiene dos pines de interrupciones que podemos configurar para responder a ciertos las acciones de detección de movimientos rápidos golpes y vibraciones, en uno o dos pulsos, y detección de condiciones de caída libre 0-g.

Para obtener más información sobre productos o sus descripciones técnicas entre en nuestra web Solectro Shop.

II. Procedimientos experimentales

Conexión

El módulo se alimenta directamente de Arduino, así que no necesitamos una fuente de alimentación externa. Deberás soldar los pines o headers para usarla sobre una Protoboard o con cables DuPont. En este ejemplo conectaremos el módulo a la placa Arduino UNO mediante I2C como muestra la siguiente imagen:

Los pines del módulo irán de la siguiente manera conectados a la placa Arduino UNO:

Pin del sensor

Pin de Arduino UNO

GND

GND

VCC

3.3V

CS

3.3V

SDA

A4 (SDA)

SCL

A5 (SCL)

 

Operación

Abre el “Gestor de librerías” desde Programa> Incluir Librería> Administrar Bibliotecas..

Busca e instala la última versión de la librería “SparkFun_ADXL345”  

Abre un nuevo sketch y pega el siguiente código de ejemplo:

 

#include <SPI.h>

#include <Wire.h>

#include <SparkFun_ADXL345.h>

 

ADXL345 adxl = ADXL345();

 

void setup()

{

   Serial.begin(9600);            

   Serial.println("Iniciar");

   Serial.println();

 

   adxl.powerOn();           

   adxl.setRangeSetting(16);       //Definir el rango, valores 2, 4, 8 o 16

}

 

void loop()

{

   //leer los valores e imprimirlos

   int x, y, z;

   adxl.readAccel(&x, &y, &z); 

   Serial.print(x);

   Serial.print(", ");

   Serial.print(y);

   Serial.print(", ");

   Serial.println(z);

}

Ahora ya puedes abrir el Monitor serie desde la pestaña Herramientas, y probar a inclinar y balancear el módulo para ver los resultados de su posición por pantalla.