| 本章我们讲一个具有运动风的技能——三轴加速度计,这货能干啥?典型的就是测量加速度值、获取当前的空间姿态...... 原理大放送: 主角ADXL345是ADI公司推出的一款小而薄的超低功耗3轴加速度计,13bit分辨率可达4mg/LSB,测量范围达±16g。数字输出数据为 16 位二进制补码格式,可通过 SPI( 3 线或 4 线)或 I2C 数字接口访问。 ADXL345 非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率( 3.9mg/LSB),能够测量不到 1.0° 的倾斜角度变化。 芯片特性如下:
原理图如下,依然很简单,依然就几个电源滤波电容,注意编程时的地址和硬件设置保持一致! 代码示例: #include "Wire.h"
#include "ADXL345.h"
ADXL345 accelerometer;
void setup(void)
{
Serial.begin(9600);
if (!accelerometer.begin())
{
Serial.println("Could not find a valid ADXL345 sensor, check wiring!");
delay(500);
}
}
void loop(void)
{
// Read values for activities
delay(1000);
Vector norm = accelerometer.readNormalize();
Serial.print("X = ");
Serial.print(norm.XAxis);
Serial.print(" Y= ");
Serial.print(norm.YAxis);
Serial.print(" Z= ");
Serial.println(norm.ZAxis);
}下载程序后打开串口调试助手。显示当前的重力加速度值,旋转开发板,会看到加速度值发生变化,现象如下: 附件: |