立即注册 找回密码

微雪课堂

搜索
微雪课堂 外围模块 Accessory Shield 查看内容

Accessory Shield学习6:三轴加速度计(ADXL345)

2015-5-7 14:52| 发布者: yanwl| 查看: 4581| 评论: 0

摘要: 本章我们讲一个具有运动风的技能——三轴加速度计,这货能干啥?典型的就是测量加速度值、获取当前的空间姿态......原理大放送: 主角ADXL345是ADI公司推出的一款小而薄的超低功耗3轴加速度计,13bit分辨率可达4mg/L ...
本章我们讲一个具有运动风的技能——三轴加速度计,这货能干啥?典型的就是测量加速度值、获取当前的空间姿态......

原理大放送:
主角ADXL345是ADI公司推出的一款小而薄的超低功耗3轴加速度计,13bit分辨率可达4mg/LSB,测量范围达±16g。数字输出数据为 16 位二进制补码格式,可通过 SPI( 3 线或 4 线)或 I2C 数字接口访问。 ADXL345 非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率( 3.9mg/LSB),能够测量不到 1.0° 的倾斜角度变化。
芯片特性如下:
  • 供电范围:2.0V - 3.6V
  • I/O电压范围:1.7V至VCC
  • 温度范围:-40℃ - +85℃
  • 尺寸:3mm x 5mm x 1mm,LGA封装
原理图如下,依然很简单,依然就几个电源滤波电容,注意编程时的地址和硬件设置保持一致!


代码示例:

#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);
}

下载程序后打开串口调试助手。显示当前的重力加速度值,旋转开发板,会看到加速度值发生变化,现象如下:


附件:

adxl345.zip


144

顶一下

刚表态过的朋友 (144 人)

相关阅读

最新评论

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-11-23 19:47 , Processed in 0.022954 second(s), 21 queries .

返回顶部