现在的手机或者其他便携设备中用到了越来越多的传感器,什么加速度传感器,方向传感器、重力传感器、陀螺仪、g-sensor、o-sensor等等,这些传感器到底是干什么用的,各自有什么特点,彼此之间又有什么区分?本文就对他们进行简单的对比介绍。

1、加速度传感器
加速度传感器又叫G-sensor,获取的是x、y、z三轴的加速度数值。
该数值包含地心引力的影响,单位是m/s^2。
将手机平放在桌面上,x轴默认为0,y轴默认0,z轴默认9.81。
将手机朝下放在桌面上,z轴为-9.81。

加速度传感器可能是最为成熟的一种mems产品,市场上的加速度传感器种类很多。手机中常用的加速度传感器有BOSCH(博世)的BMA系列,AMK的897X系列,ST的LIS3X系列等。这些传感器一般提供±2G至±16G的加速度测量范围,采用I2C或SPI接口和MCU相连,数据精度小于16bit。

2、磁力传感器
磁力传感器简称为M-sensor,返回x、y、z三轴的环境磁场数据。
该数值的单位是微特斯拉(micro-Tesla),用uT表示。也可以是高斯(Gauss),1Tesla=10000Gauss。
硬件上一般没有独立的磁力传感器,磁力数据由电子罗盘传感器提供(E-compass)。电子罗盘传感器在提供磁力传感器数据的同时,还能提供方向传感器数据。

3、方向传感器
方向传感器简称为O-sensor,返回三轴的角度数据,方向数据的单位是角度。
如上所述,电子罗盘E-compass在获取到G-sensor的数据之后,经过计算生产O-sensor数据以及M-sensor数据。

O-sensor提供三个数据,分别为azimuth、pitch和roll。

azimuth:方位,返回水平时磁北极和Y轴的夹角,范围为0°至360°。0°=北,90°=东,180°=南,270°=西。
pitch:x轴和水平面的夹角,范围为-180°至180°。当z轴向y轴转动时,角度为正值。
roll:y轴和水平面的夹角,由于历史原因,范围为-90°至90°。当x轴向z轴移动时,角度为正值。
电子罗盘在获取正确的数据前需要进行校准,通常可用8字校准法。8字校准法要求用户使用需要校准的设备在空中做8字晃动,原则上尽量多的让设备法线方向指向空间的所有8个象限。

4、陀螺仪传感器
陀螺仪传感器叫做Gyro-sensor,返回x、y、z三轴的角加速度数据。
角加速度的单位是radians/second。

根据Nexus S手机实测:
水平逆时针旋转,Z轴为正。
水平逆时针旋转,z轴为负。
向左旋转,y轴为负。
向右旋转,y轴为正。
向上旋转,x轴为负。
向下旋转,x轴为正。

5、重力传感器
重力传感器简称GV-sensor,输出重力数据。
在地球上,重力数值为9.8,单位是m/s^2。
坐标系统与加速度传感器相同。
当设备复位时,重力传感器的输出与加速度传感器相同。

6、线性加速度传感器
线性加速度传感器简称LA-sensor。
线性加速度传感器是加速度传感器减去重力影响获取的数据。
单位是m/s^2,坐标系统与加速度传感器相同。
加速度传感器、重力传感器和线性加速度传感器的计算公式如下:
加速度 = 重力 + 线性加速度。

7、旋转矢量传感器
旋转矢量传感器简称RV-sensor。
旋转矢量代表设备的方向,是一个将坐标轴和角度混合计算得到的数据。
RV-sensor输出三个数据:

x*sin(theta/2)
y*sin(theta/2)
z*sin(theta/2)
sin(theta/2)是RV的数量级。
RV的方向与轴旋转的方向相同。
RV的三个数值,与cos(theta/2)组成一个四元组。

RV的数据没有单位,使用的坐标系与加速度相同。

举例:

sensors_event_t.data[0] = xsin(theta/2)
sensors_event_t.data[1] = ysin(theta/2)
sensors_event_t.data[2] = z*sin(theta/2)
sensors_event_t.data[3] = cos(theta/2)

GV、LA和RV的数值没有物理传感器可以直接给出,需要G-sensor、O-sensor和Gyro-sensor经过算法计算后得出。

几种常用的传感器(加速度传感器、重力传感器、方向传感器、陀螺仪)简介相关推荐

  1. Android 监听重力感应方向传感器改变屏幕方向

    重力感应方向传感器监听事件 /*** @Description: 重力感应方向传感器监听*/ public class OrientationListener implements SensorEve ...

  2. Android -- 传感器使用示例, 用方向传感器做指南针

    1. 传感器类型:方向.加速度(重力).光线.磁场.距离(临近性).温度等. 方向传感器:   Sensor.TYPE_ORIENTATION 加速度(重力)传感器: Sensor.TYPE_ACCE ...

  3. Android传感器(三):方向传感器

    新建BaseActivity类 由于传感器较多,新建一个BaseActivity封装属性和方法: package com.example.gingerbread;import java.util.Li ...

  4. 浅谈百度地图的简单开发之结合方向传感器实现定位功能(三)

    今天我们来谈下百度地图的定位功能,在此之前我已经将百度地图的基本地图大概说了下,其实百度地图的基本功能还有很多的内容.感兴趣的可以到百度地图的开发者的官网看看.今天就开始来讲下百度地图中的定位功能. ...

  5. 百度地图的简单开发之方向传感器实现定位功能

    今天我们来谈下百度地图的定位功能,在此之前我已经将百度地图的基本地图大概说了下,其实百度地图的基本功能还有很多的内容.感兴趣的可以到百度地图的开发者的官网看看.今天就开始来讲下百度地图中的定位功能. ...

  6. Android 百度地图 SDK v3.0.0 (二) 定位与结合方向传感器

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37730469 在上一篇博客中,我们成功把地图导入了我们的项目.本篇我们准备为地图 ...

  7. Android笔记 方向传感器

    1传感器概念 图片资源来自传智播客张泽华视频114集 demo 1布局一张图片 网上随便找一张指南针图片 <RelativeLayout xmlns:android="http://s ...

  8. 百度地图定位以及方向传感器的调用

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37730469 在上一篇博客中,我们成功把地图导入了我们的项目.本篇我们准备为地图 ...

  9. 【Android游戏开发十八】解放手指,利用传感器开发游戏!(本文讲解在SurfaceView中用重力传感器控制圆球的各方向移动)

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi ) 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/andr ...

  10. android 获取加速度传感器值,Android开发获取传感器数据的方法示例【加速度传感器,磁场传感器,光线传感器,方向传感器】...

    本文实例讲述了Android开发获取传感器数据的方法.分享给大家供大家参考,具体如下: package mobile.android.sensor; import java.util.List; im ...

最新文章

  1. 【CF671D】 Roads in Yusland(对偶问题,左偏树)
  2. cmd静默运行_【已解决】BAT批处理中如何静默执行,在完成后调用MSGBOX?
  3. JAVA反射机制及其原理实现
  4. linux kvm百度云,容器与云|如何在 Ubuntu Linux 上使用 KVM 云镜像
  5. 使用VS Code开发asp.net core (上)
  6. Python输入输出练习
  7. Python办公自动化 - 3 Excel办公自动化
  8. CNCC2018 即将开幕,报名优惠截止倒计时5天!
  9. centos7部署两个mysql_基于Canal和Kafka实现MySQL的Binlog近实时同步
  10. 通过银行卡号,识别相应的银行信息
  11. Jcreator5.0
  12. hfss螺旋平面_微波射频网HFSS平面螺旋天线设计
  13. matlab 线性拟合相关系数,Matlab拟合非线性曲线后求相关系数(拟合的优劣)
  14. 学习软件设计模式的书籍
  15. 详细船舶信息爬虫教程:船讯网根据MMSI爬取对应船舶属性信息|附python爬虫代码
  16. carry on till tomorrow
  17. 《近匠》专访启明星辰安全研究中心副总监侯浩俊——物联网安全攻防的“线上幽灵”...
  18. 一文搞懂 deconvolution、transposed convolution、sub-­pixel or fractional convolution
  19. 基于U盘传播的简单病毒
  20. c++ strstr函数的实现

热门文章

  1. 项目案例:乌龟吃鱼小游戏
  2. 关于用LM2596做的DC-DC数控电源
  3. css3实现缺角四边形_CSS3实现缺角矩形,折角矩形以及缺角边框
  4. gulp_for_qa
  5. ACM比赛代码文件读写调试方案
  6. vue 获取汉字的全拼、简拼、首拼
  7. 发现了一个开源的sip软电话项目(C#)
  8. html 怎么做图标在圆圈上旋转,纯CSS3图标旋转效果代码
  9. 计算机电脑键盘英语,知识整理:计算机键盘指法练习(英语+数字)
  10. SAM-BA AT91 USB to Serial converter驱动安装失败解决方法