传感器导航 全部分类

相关商品

浏览历史

当前位置: 首页 > 传感器常见问题 > 怎么通过adxl345输出值计算出倾角?
怎么通过adxl345输出值计算出倾角?
传感器常见问题 / 2012-12-23

 此方法是通过勾股定理计算的,请参考以下程序:

 

// 加速的X轴用来算俯仰角;Y轴算横滚角 
u16 Gx;
u16 Gy;
u16 Gz;
float Gxangle;
float Gyangle;
GVALUE ADXL345_GetValue(void)
{

来自:http://zhidao.baidu.com/question/447710682.html
Gx = (u16)ADXL345ReadData(0xA6,XL345_DATAX1);
Gx <<= 8;
Gx += (u16)ADXL345ReadData(0xA6,XL345_DATAX0);
Gy = (u16)ADXL345ReadData(0xA6,XL345_DATAY1);
Gy <<= 8;
Gy += (u16)ADXL345ReadData(0xA6,XL345_DATAY0);
Gz = (u16)ADXL345ReadData(0xA6,XL345_DATAZ1);
Gz <<= 8;
Gz += (u16)ADXL345ReadData(0xA6,XL345_DATAZ0);
if(Gx > 0x01FF)
{
Gx = -Gx;
Gx |= 0x8000; //得到补码 去掉14 13 12位保留最后一个符号位
}
if(Gy > 0x01FF)
{
Gy = -Gy;
Gy |= 0x8000; //得到补码 去掉14 13 12位保留最后一个符号位
}
if(Gz > 0x01FF)
{
Gz = -Gz;
Gz |= 0x8000; //得到补码 去掉14 13 12位保留最后一个符号位
}
if(!(Gz & 0x8000)) //正 Gz最高位置为0
{
if(Gx & 0x8000) //负 Gx最高位置为1
{
Gx &= 0x7FFF ; //*0111 1111 1111 1111 最高的符号位变0
if(Gz == 0)
Gxangle = 90;
else
Gxangle = atan((double)Gx / (double)Gz) * 57.296;//arctan(x/z)*180/pi
Gx |= 0x8000; //恢复最高位
}
if(!(Gx & 0x8000)) //正 Gx最高位置为0
{
if(Gz == 0)
Gxangle = -90;
else
Gxangle = -atan((double) Gx / (double)Gz) * 57.296;//arctan(x/z)*180/pi
}
if(Gy & 0x8000)
{
Gy &= 0x7FFF ;
if(Gz == 0)
Gyangle = -90;
else
Gyangle = -atan((double)Gy / (double)Gz) * 57.296;//arctan(y/z)*180/pi
Gy |= 0x8000;
}
if(!(Gy & 0x8000))
{
if(Gz == 0)
Gyangle = 90;
else
Gyangle = atan((double)Gy / (double)Gz) * 57.296;//arctan(y/z)*180/pi
}
}
else //负 Gz最高位置为1
{
Gz &= 0x7FFF ; //0111 1111 1111 1111
if(Gx & 0x8000)
{
Gx &= 0x7FFF ;
Gxangle = 180 - atan((double)Gx / (double)Gz) * 57.296;
Gx |= 0x8000;
}
if(!(Gx & 0x8000))
{
Gxangle = -(180 - atan((double) Gx / (double)Gz) * 57.296);
}
if(Gy & 0x8000)
{
Gy &= 0x7FFF ;
Gyangle = 180 - atan((double)Gy / (double)Gz) * 57.296;
Gy |= 0x8000;
}
if(!(Gy & 0x8000))
{
Gyangle = -(180 - atan((double)Gy / (double)Gz) * 57.296);
}
Gz |= 0x8000;
}

}

本文标题: 怎么通过adxl345输出值计算出倾角?
本文地址: http://www.rdbuy.cn/
本文标签: adxl345倾角计算

用户评论(共0条评论)

  • 暂时还没有任何用户评论
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 游客
E-mail:
评价等级:
评论内容:

挑选商品 > 确认购买 > 网上支付/货到付款 > 验货满意 > 点评商品

原装正品 金牌服务 购物有保障
  • 放心:我们的任何商品,均为原装正品
  • 舒心:倾力为您打造人性化的购物平台
  • 省心:把麻烦交给我,把快乐网购交给您
新手上路
售后流程
购物流程
订购方式
配送与支付
货到付款区域
配送支付智能查询
支付方式说明
会员中心
资金管理
我的收藏
我的订单
服务保证
退换货原则
售后服务保证
产品质量保证
联系我们
网站故障报告
选机咨询
投诉与建议