Adafruit ADXL345 Arduino Library
Classes | Macros | Enumerations
Adafruit_ADXL345_U.h File Reference
#include "WProgram.h"
#include <Adafruit_I2CDevice.h>
#include <Adafruit_SPIDevice.h>
#include <Adafruit_Sensor.h>

Go to the source code of this file.

Classes

class  Adafruit_ADXL345_Unified
 Class to interact with the ADXL345 accelerometer. More...
 

Macros

#define ADXL345_DEFAULT_ADDRESS   (0x53)
 Assumes ALT address pin low.
 
#define ADXL345_REG_DEVID   (0x00)
 Device ID.
 
#define ADXL345_REG_THRESH_TAP   (0x1D)
 Tap threshold.
 
#define ADXL345_REG_OFSX   (0x1E)
 X-axis offset.
 
#define ADXL345_REG_OFSY   (0x1F)
 Y-axis offset.
 
#define ADXL345_REG_OFSZ   (0x20)
 Z-axis offset.
 
#define ADXL345_REG_DUR   (0x21)
 Tap duration.
 
#define ADXL345_REG_LATENT   (0x22)
 Tap latency.
 
#define ADXL345_REG_WINDOW   (0x23)
 Tap window.
 
#define ADXL345_REG_THRESH_ACT   (0x24)
 Activity threshold.
 
#define ADXL345_REG_THRESH_INACT   (0x25)
 Inactivity threshold.
 
#define ADXL345_REG_TIME_INACT   (0x26)
 Inactivity time.
 
#define ADXL345_REG_ACT_INACT_CTL   (0x27)
 Axis enable control for activity and inactivity detection.
 
#define ADXL345_REG_THRESH_FF   (0x28)
 Free-fall threshold.
 
#define ADXL345_REG_TIME_FF   (0x29)
 Free-fall time.
 
#define ADXL345_REG_TAP_AXES   (0x2A)
 Axis control for single/double tap.
 
#define ADXL345_REG_ACT_TAP_STATUS   (0x2B)
 Source for single/double tap.
 
#define ADXL345_REG_BW_RATE   (0x2C)
 Data rate and power mode control.
 
#define ADXL345_REG_POWER_CTL   (0x2D)
 Power-saving features control.
 
#define ADXL345_REG_INT_ENABLE   (0x2E)
 Interrupt enable control.
 
#define ADXL345_REG_INT_MAP   (0x2F)
 Interrupt mapping control.
 
#define ADXL345_REG_INT_SOURCE   (0x30)
 Source of interrupts.
 
#define ADXL345_REG_DATA_FORMAT   (0x31)
 Data format control.
 
#define ADXL345_REG_DATAX0   (0x32)
 X-axis data 0.
 
#define ADXL345_REG_DATAX1   (0x33)
 X-axis data 1.
 
#define ADXL345_REG_DATAY0   (0x34)
 Y-axis data 0.
 
#define ADXL345_REG_DATAY1   (0x35)
 Y-axis data 1.
 
#define ADXL345_REG_DATAZ0   (0x36)
 Z-axis data 0.
 
#define ADXL345_REG_DATAZ1   (0x37)
 Z-axis data 1.
 
#define ADXL345_REG_FIFO_CTL   (0x38)
 FIFO control.
 
#define ADXL345_REG_FIFO_STATUS   (0x39)
 FIFO status.
 
#define ADXL345_MG2G_MULTIPLIER   (0.004)
 4mg per lsb
 

Enumerations

enum  dataRate_t {
  ADXL345_DATARATE_3200_HZ = 0b1111, ADXL345_DATARATE_1600_HZ = 0b1110, ADXL345_DATARATE_800_HZ = 0b1101, ADXL345_DATARATE_400_HZ = 0b1100,
  ADXL345_DATARATE_200_HZ = 0b1011, ADXL345_DATARATE_100_HZ = 0b1010, ADXL345_DATARATE_50_HZ = 0b1001, ADXL345_DATARATE_25_HZ = 0b1000,
  ADXL345_DATARATE_12_5_HZ = 0b0111, ADXL345_DATARATE_6_25HZ = 0b0110, ADXL345_DATARATE_3_13_HZ = 0b0101, ADXL345_DATARATE_1_56_HZ = 0b0100,
  ADXL345_DATARATE_0_78_HZ = 0b0011, ADXL345_DATARATE_0_39_HZ = 0b0010, ADXL345_DATARATE_0_20_HZ = 0b0001, ADXL345_DATARATE_0_10_HZ
}
 Used with register 0x2C (ADXL345_REG_BW_RATE) to set bandwidth. More...
 
enum  range_t { ADXL345_RANGE_16_G = 0b11, ADXL345_RANGE_8_G = 0b10, ADXL345_RANGE_4_G = 0b01, ADXL345_RANGE_2_G = 0b00 }
 Used with register 0x31 (ADXL345_REG_DATA_FORMAT) to set g range. More...
 

Detailed Description

Author
K. Townsend (Adafruit Industries)

The ADXL345 is a digital accelerometer with 13-bit resolution, capable of measuring up to +/-16g. This driver communicate using I2C.

This is a library for the Adafruit ADXL345 breakout -—> https://www.adafruit.com/products/1231

Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!

License

BSD (see license.txt)

HISTORY

v1.1 - Added Adafruit_Sensor library support v1.0 - First release

Enumeration Type Documentation

◆ dataRate_t

enum dataRate_t

Used with register 0x2C (ADXL345_REG_BW_RATE) to set bandwidth.

Enumerator
ADXL345_DATARATE_3200_HZ 

1600Hz Bandwidth 140�A IDD

ADXL345_DATARATE_1600_HZ 

800Hz Bandwidth 90�A IDD

ADXL345_DATARATE_800_HZ 

400Hz Bandwidth 140�A IDD

ADXL345_DATARATE_400_HZ 

200Hz Bandwidth 140�A IDD

ADXL345_DATARATE_200_HZ 

100Hz Bandwidth 140�A IDD

ADXL345_DATARATE_100_HZ 

50Hz Bandwidth 140�A IDD

ADXL345_DATARATE_50_HZ 

25Hz Bandwidth 90�A IDD

ADXL345_DATARATE_25_HZ 

12.5Hz Bandwidth 60�A IDD

ADXL345_DATARATE_12_5_HZ 

6.25Hz Bandwidth 50�A IDD

ADXL345_DATARATE_6_25HZ 

3.13Hz Bandwidth 45�A IDD

ADXL345_DATARATE_3_13_HZ 

1.56Hz Bandwidth 40�A IDD

ADXL345_DATARATE_1_56_HZ 

0.78Hz Bandwidth 34�A IDD

ADXL345_DATARATE_0_78_HZ 

0.39Hz Bandwidth 23�A IDD

ADXL345_DATARATE_0_39_HZ 

0.20Hz Bandwidth 23�A IDD

ADXL345_DATARATE_0_20_HZ 

0.10Hz Bandwidth 23�A IDD

ADXL345_DATARATE_0_10_HZ 

0.05Hz Bandwidth 23�A IDD (default value)

◆ range_t

enum range_t

Used with register 0x31 (ADXL345_REG_DATA_FORMAT) to set g range.

Enumerator
ADXL345_RANGE_16_G 

+/- 16g

ADXL345_RANGE_8_G 

+/- 8g

ADXL345_RANGE_4_G 

+/- 4g

ADXL345_RANGE_2_G 

+/- 2g (default value)