今天整理一下上周做的有关传感器的东西;

做的这个项目是MFC的,vs2010,但是运行平台是带win8系统的平板,win8还是完全支持MFC的。surface和tablet2,最近测试发现surface和tablet2性能相差很大,surface快很多,而且今天tablet2触屏都坏掉了,真是中看不中用,关键自己写的调用摄像头还不能调节分辨率。。。ps:只有平板设备上有传感器这些东西,笔记本什么的都没有。

又扯远了,关于这个项目的东西前面的博客也介绍过了,下面直接开始说加速度计吧。

1 加速度计

加速度计传出的参数是3个,分别代表了XYZ三个方向上的加速度值,单位是g(9.8N/kg)。

当平板处于静止状态的时候,总的加速度值为g(只受到重力加速度),而当平板的XY轴正好与大地面水平时,则输出的XY方向加速度为0,Z方向加速度为g。

下面是我在网上找的几个图,形象化描述了加速度计运作的原理:

     

图1:假设了一个完全不受重力的情况下,加速度计中的小球悬浮,对周围的墙没有任何压力(xyz三个轴的数据为0)

图2:这张图就是我刚刚表达的特殊情况,当平板完全与水平地面平行静止,加速度计仪器中的小球(假设)如这张图情况,重力完全在Z轴,Z轴输出的值为1g。

图3:一般情况下,我们拿着平板的时候都是稍微有点倾斜的,那么总的重力加速度1g分配到了3个轴方向上,就如这张图,分配到了x负方向上0.71g和z负方向上0.71g。

计算倾斜角
通过以上分析,我们通过传感器接口得到3轴方向上的加速度值,通过数学运算,是可以获得平板坐标系轴的倾斜角的。但是前提是没有其他加速度影响,受力平衡(静止)!

根据加速度值获得角度值的数学公式也很容易推导,下图中R的方向为重力的方向(铅垂方向),各个轴对应的加速度值为Rx、Ry、Rz首先可以算出各个轴与重力方向所成的夹角:

X轴与重力方向夹角: xAngle = arctan(sqrt(Ry*Ry + Rz*Rz) / Rx);

Y轴与重力方向夹角: yAngle = arctan(sqrt(Rx*Rx + Rz*Rz) / Ry);

Z轴与重力方向夹角: ZAngle = arctan(sqrt(Rx*Rx + Ry*Ry) / Rz);

为了得到角度即为倾斜角和横滚角,经过调试,得到正确的公式如下:

倾斜角 = -atan2(Rx,sqrt(Ry*Ry + Rz*Rz))*180.0/π;

横滚角 = atan2(sqrt(Rx*Rx + Ry*Ry),Rz))*180.0/π;

陀螺仪的作用

通过加速度计我们已经得到了X Y Z的倾角,但是前两天查阅的资料发现,很多应用都还要用到陀螺仪,例如3维模拟设备的移动情况,坐标轴中显示物体倾斜角的变化等。这些地方用到陀螺仪是为了让模型更吻合,让曲线运动更平滑。其实得到的倾斜角度在运动的瞬间也是更准确的。

加速度计的数据不是100%准确的。因为加速度计只有在静止情况下的数据才是较为准确的,可以不借助陀螺仪,在计算的时候假设了只有竖直向下重力加速度。

3指南针

指南针其实是传感器中最简单的了,因为它不用通过任何计算,得到的值就是与磁北或真北的夹角,但是这个问题整整困扰了我一个多星期,直到今天才解决。

指南针传感器的类别是:SENSOR_CATEGORY_ORIENTATION,平板设备上有的是SENSOR_TYPE_COMPASS_3D.得到值有很多,具体可以参考:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd318987(v=vs.85).aspx

好吧,,,更新一下,

=====================================================================

通过微软提供的Compass接口获得的值一直是不准确的,偶尔准确。。。。

下载了一些Win8的应用,指南针的值也是不准确的。

联系了联想的客服,客服看了这些应用也觉得不准确,但是他们坚持说自己平板电脑上的硬件没有问题。。。

无语,也就是目前win8平板上,指南针的问题还是没有解决。。

2013-07-10  by sun

=====================================================================

相关代码整理:

http://download.csdn.net/detail/very_caiing/6432141

Win8传感器—加速度计、陀螺仪、指南针相关推荐

  1. ICM-42605 6轴MEMS加速度计陀螺仪运动传感器数据的读取

    ICM42605传感器简介 ICM426056轴MEMS运动传感器是集成了3轴陀螺仪和3轴加速度计的运动跟踪器件.陀螺仪支持8个可编程满量程范围设置(从±15.625dps到±2000dps).加速度 ...

  2. 关于惯性传感器(陀螺仪、加速度计)的选取

    关于惯性传感器(陀螺仪.加速度计)的选取 陀螺仪的选取 加速度计的选取 陀螺仪的选取 在做惯性导航模块或者飞控的时候第一件事就是器件的选取,这个是第一步也是很重要的一步,因为他不仅关系到硬件成本还关乎 ...

  3. 手机中的传感器:重力感应器、加速度传感器、陀螺仪、电子罗盘和光线距离感应器

    智能手机之所以受到大家的欢迎,与其具有的娱乐功能分不开,使得它不仅仅是个通话的工具.智能手机支持那么多的娱乐应用,归根结底在于它里面集成的各类传感器,主要有重力感应器.加速度传感器.陀螺仪.电子罗盘和 ...

  4. 惯性导航原理(一)-航位推算+加速度计+陀螺仪+IMU+INS

    文章目录 导航定位原理分类 航位推算(Dead-Reckoning) 牛顿运动定律 惯性传感器--加速度计 力反馈原理 加速度计种类 惯性传感器--陀螺仪 转子陀螺-陀螺定轴性 振动陀螺-哥氏效应(C ...

  5. 安卓传感器全解:注册、注销传感器、监听传感器,距离传感器、方向传感器、陀螺仪、加速计、磁场、气压传感器

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓传感器全解:注册.注销传感器.监听传感器.距离传感器.方向传感器.陀螺仪.加速计.磁场.气压传感器. 注册.注销.监听传感器 1.自定义传感器监听 ...

  6. Mission Planner初学者安装调试教程指南(APM或PIX飞控)4——校准加速度计、指南针、遥控器、设置飞行模式

    目录 1.加速度计校准. 2.指南针校准. 3.遥控器校准. 安装完固件后,无人机并不能马上解锁起飞,必须进行校准加速度计.指南针.遥控器,下面就逐一进行校准,该环境使用的是APM2.8.Missio ...

  7. Android-方向传感器(制作指南针)

    方向传感器(制作指南针) Android中的方向传感器可以准确的判断出手机在各个方向的旋转角度,利用这些角度就可以编写出像指南针.地平仪等有用的工具.下面,我来制作一个简单指南针.先附上代码: Act ...

  8. 【传感器大赏】6轴加速度计陀螺仪

    Grove-6 Axis AccelerometerAndGyroscope Grove - 6-Axis Accelerometer&Gyroscope 是一种把 Grove 接口和集成传感 ...

  9. 维特智能蓝牙5.0加速度计陀螺仪传感器倾角电子罗盘磁力计仰卧起坐

    1.项目介绍 仰卧起坐检测项目是应用于中小学生或部队训练时,对仰卧起坐这个项目的监测.实现的功能包括以下方面: 引导用户规范动作,也就是动作必须达标才能算完成一个动作,平躺要躺平,坐起要到达90°. ...

最新文章

  1. django drf Filter
  2. 【POJ - 3037】Skiing (Dijkstra算法)
  3. python面试题总结(5)--数据类型(字典)
  4. 论文浅尝 | 一日看尽长安花--NLP可解释研究梳理
  5. [转帖]ISE与Modelsim联合观察中间信号
  6. 计算机最低分怎么英语,编写一个学生类 有年龄 英语、数学、计算机三门成绩 求平均分、最高分、最低分...
  7. CoffeeScript中的三元操作
  8. Discuz 7.0版块横排显示版块图标和版块简介的方法
  9. JUC总览,来自汪文君整理
  10. Matlab实现和使用神经网络的几种方式详细讲解--附代码可下载
  11. 二阶rc无源低通滤波器matlab,二阶rc无源低通滤波电路
  12. 肠道微生物组测试说明解读
  13. Sematic库系列一
  14. 动画交互设计软件:Principle for Mac
  15. 小程序如何生成二维码海报?
  16. 洛谷 P4094 [HEOI2016/TJOI2016]字符串 后缀数组+二分+主席树
  17. 使用canvas生成一个圆形的图片
  18. 分布式系统测试的难点与分析
  19. java滑雪,AcWing 901. 滑雪-java
  20. 磁盘恢复工具OO DiskRecovery的使用

热门文章

  1. 简单的毫秒和微秒转换
  2. 火影推荐程序连载32-我是如何使用freemarker生成Word文件的?
  3. [金融证券] 什么是博傻?
  4. 声纹技术(五):声纹分割聚类技术
  5. maven更新快照不起作用的解决方法
  6. Bypass 360主机卫士SQL注入防御(附tamper脚本)
  7. 微信小程序页面3秒后自动跳转
  8. C# 字符串写成多行
  9. 5款冷门小工具,让你的电脑变得与众不同
  10. 【狮子数学】01关于函数的四性的分析+复合函数+奇偶运算性质