本章我们讲一个具有运动风的技能——三轴加速度计,这货能干啥?典型的就是测量加速度值、获取当前的空间姿态...... 原理大放送: 主角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); } 下载程序后打开串口调试助手。显示当前的重力加速度值,旋转开发板,会看到加速度值发生变化,现象如下: 附件: |