ADXL345是ADI公司生产的三轴数字加速度计芯片,与ST的LIS3DH功能接近。主要特性有:
- 工作电压:2.0 ~ 3.6V
- 功耗:待机功耗0.1μA;工作时与数据输出频率(ODR)有关,如ODR<10 Hz时30μA
- 接口:I2C;三线/四线制SPI
- 分辨率:可选择,最大13-bit
- 内置FIFO
- single tap/double tap检测
- 自由落体检测
- 两个可编程中断输出脚
- 封装:3 x 5 x 1 mm LGA
管脚定义
与Arduino的连接
用工作于3.3V/8MHz版本的Arduino Pro Mini进行调试。管脚定义、连接方法与调试LIS3DH时类似。采用I2C接口进行通讯,未利用FIFO和INT1、INT2中断引脚。
ADXL345 Pro Mini (3.3V)
VDD <------> 3.3V
GND <------> GND
SCL <------> A5 (SCL)
SDA <------> A4 (SDA)
功能调试
1. 操作方法亦和LIS3DH类似。但ADXL345似乎没有与LIS3DH的STATUS_REG寄存器,而是设定DATA_READY中断,然后利用INT_SOURCE寄存器判断是否有中断事件发生,从而判断是否有新的测量值。
2. 留意设置的ODR频率不要超出I2C总线的数据读取速率。如Arduino的I2C总线时钟频率为100kHz,则可设置的最大ODR为200Hz。
测试代码


1 /* 2 Measurement of acceleration values using motion sensor ADXL345 3 */ 4 #include <Wire.h> 5 6 #define ADDRESS_ADXL345 0x53 7 #define DATA_FORMAT 0x31 8 #define BW_RATE 0x2C 9 #define POWER_CTL 0x2D 10 #define INT_ENABLE 0x2E <