码迷,mamicode.com
首页 > 移动开发 > 详细

智能手机上的常用传感器

时间:2014-09-30 13:57:19      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   color   io   os   使用   ar   strong   

Android操作系统11种传感器介绍

在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用。

#define SENSOR_TYPE_ACCELEROMETER        1 //加速度
#define SENSOR_TYPE_MAGNETIC_FIELD       2 //磁力
#define SENSOR_TYPE_ORIENTATION          3 //方向
#define SENSOR_TYPE_GYROSCOPE            4 //陀螺仪
#define SENSOR_TYPE_LIGHT                5 //光线感应
#define SENSOR_TYPE_PRESSURE             6 //压力
#define SENSOR_TYPE_TEMPERATURE          7 //温度
#define SENSOR_TYPE_PROXIMITY            8 //接近
#define SENSOR_TYPE_GRAVITY              9 //重力
#define SENSOR_TYPE_LINEAR_ACCELERATION  10//线性加速度
#define SENSOR_TYPE_ROTATION_VECTOR      11//旋转矢量

 

我们依次看看这十一种传感器

1 加速度传感器

加速度传感器又叫G-sensor,返回x、y、z三轴的加速度数值

该数值包含地心引力的影响,单位是m/s^2。

将手机平放在桌面上,x轴默认为0,y轴默认0,z轴默认9.81。

将手机朝下放在桌面上,z轴为-9.81。

将手机向左倾斜,x轴为正值。

将手机向右倾斜,x轴为负值。

将手机向上倾斜,y轴为负值。

将手机向下倾斜,y轴为正值。

加速度传感器可能是最为成熟的一种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数据,否则只能获取水平方向的角度。

方向传感器提供三个数据,分别为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个象限。

手机中使用的电子罗盘芯片有AKM公司的897X系列,ST公司的LSM系列以及雅马哈公司等等。

由于需要读取G-sensor数据并计算出M-sensor和O-sensor数据,

因此厂商一般会提供一个后台daemon来完成工作,电子罗盘算法一般是公司私有产权。

 

4 陀螺仪传感器

陀螺仪传感器叫做Gyro-sensor,返回x、y、z三轴的角加速度数据

角加速度的单位是radians/second。

根据Nexus S手机实测:

水平逆时针旋转,Z轴为正。

水平逆时针旋转,z轴为负。

向左旋转,y轴为负。

向右旋转,y轴为正。

向上旋转,x轴为负。

向下旋转,x轴为正。

ST的L3G系列的陀螺仪传感器比较流行,iphone4和google的nexuss中使用该种传感器。

 

5 光线感应传感器

光线感应传感器检测实时的光线强度,光强单位是lux,其物理意义是照射到单位面积上的光通量。

光线感应传感器主要用于Android系统的LCD自动亮度功能。

可以根据采样到的光强数值实时调整LCD的亮度。

 

6 压力传感器

压力传感器返回当前的压强,单位是百帕斯卡hectopascal(hPa)。

 

7 温度传感器

温度传感器返回当前的温度。

 

8 接近传感器

接近传感器检测物体与手机的距离,单位是厘米。

一些接近传感器只能返回远和近两个状态,

因此,接近传感器将最大距离返回远状态,小于最大距离返回近状态。

接近传感器可用于接听电话时自动关闭LCD屏幕以节省电量。

一些芯片集成了接近传感器和光线传感器两者功能。

下面三个传感器是Android2新提出的传感器类型,目前还不太清楚有哪些应用程序使用。

 

9 重力传感器

重力传感器简称GV-sensor,输出重力数据。

在地球上,重力数值为9.8,单位是m/s^2。

坐标系统与加速度传感器相同。

当设备复位时,重力传感器的输出与加速度传感器相同。

 

10 线性加速度传感器

线性加速度传感器简称LA-sensor。

线性加速度传感器是加速度传感器减去重力影响获取的数据。

单位是m/s^2,坐标系统与加速度传感器相同。

加速度传感器、重力传感器和线性加速度传感器的计算公式如下:

加速度 = 重力 + 线性加速度

 

11 旋转矢量传感器

旋转矢量传感器简称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] = x*sin(theta/2)

sensors_event_t.data[1] = y*sin(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经过算法计算后得出。

算法一般是传感器公司的私有产权。

 

 

传感器的概念

  对于传感器,学理工科的都不陌生。国家标准GB7665-87对传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。像我们的楼道的声控灯、数码相机等都有传感器,甚至手机本身就是个将声音转化为数字信号的在转化回来的传感器,其的范围太广泛了,。而小编在这里归纳的则一些将手机的所在状态或者所处的环境,转化成改变手机状态的器件(当然在这里小编就不提几乎每个手机的都有的如摄像头等传感器)。

传感器的作用与意义
  现在的智能手机比起之前的智能手机时代不仅仅是手机性能硬件上的提高,除了CPU那类的配置之外,新一代的智能手机在体验感和用户者得互动性上也更加的高。目前智能手机应用软件生态系统不断扩展,传感器这类与用户互动必备的东西功不可没。传感器让用户对应用软体更加着迷。而作为新一代智能手机的标杆——苹果,在这方面也是引领者的角色。(想想当初诺基亚还没大幕触控的时候,wm系统的手机还在用手指戳的时代,iphone一代那能放大缩小图片的电容屏让很多人都流了口水.对,小编没写错,电容屏也是一种传感器)
  事实上,目前智能手机应用软件生态系统不断扩展。传感器除了能增加体现感和用户互动这些理念性的东西外。游戏上传感器的应用也成为新的发展方向。就是体感装置在游戏设备的崛起一样,传感器在手机和平板上的发展会越来越快。现在在游戏、健康照护、体能训练以及许多新应用都要用到传感器。
  由于智慧手机中加入了各种传感器,使手机也变得越来越智慧化。加速度传感器回应使用者的互动方式,使得传统平淡无奇的输入作业,转变成类似游戏的新奇体验,进而提高使用者使用智慧手机的意愿。过去智慧手机比较的重点在于是否拥有加速度传感器,目前变成比较谁的手机具备了三轴陀螺仪,未来则有更多的新的传感器的加入。



   
下面列举下大家比较关注也是常见的几种传感器


重力感应器

  手机重力感应技术:利用压电效应实现,简单来说是测量内部一片重物(重物和压电片做成一体)重力正交两个方向的分力大小,来判定水平方向。通过对力敏感的传感器,感受手机在变换姿势时,重心的变化,使手机光标变化位置从而实现选择的功能。
  手机重力感应指的是手机内置重力摇杆芯片,支持摇晃切换所需的界面和功能,甩歌甩屏,翻转静音,甩动切换视频等,是一种非常具有使用乐趣的功能。
  重力感应器说的简单点就是,你本来把手机拿在手里是竖着的,你将它转90度,横过来,它的页面就跟随你的重心自动反应过来,也就是说页面也转了90度,极具人性化。现在基本上智能手机都有内置重力感应器,甚至有些非智能手机也有内置。其常见的应用有玩平衡球了,还有横屏浏览网页、看小说之类的了。 

加速度传感器 
  加速度传感器是一种能够测量加速力的电子设备。加速力就是当物体在加速过程中作用在物体上的力,就好比地球引力,也就是重力。加速力可以是个常量,比如g,也可以是变量。因此其的范围比重力感应器要大,但是一般在手机被提到的加速度感应器时,其实就是指重力感应器,因此两者可以看做是等价的。


方向感应器

  手机方向传感器是指,安装在手机上用以检测手机本身处于何种方向状态的部件,而不是通常理解的指南针的功能。

  手机方向检测功能可以检测手机处于正竖、倒竖、左横、右横,仰、俯状态。具有方向检测功能的手机具有使用更方便、更具人性化的特点。例如,手机旋转后,屏幕图像可以自动跟着旋转并切换长宽比例,文字或菜单也可以同时旋转,使你阅读方便;听mp3时。可能会有人说:这个跟那个重力感应器是一样的?
这个两者是不一样的,方向感应器或者叫应用角速度传感器比较合适,一般手机的上的方向感应器是感应水平面上的方位角、旋转角和倾斜角的。这个如果你可能觉得有点理论的话,举个例子吧。有方向感应器的能很好的玩都市赛车游戏。而只有重力感应器也能玩,但是恩,很令人纠结。


三轴陀螺仪
  三轴陀螺仪:即同时测定6个方向的位置,移动轨迹,加速。单轴的只能测量一个方向的量,也就是一个系统需要三个陀螺仪,而3轴的一个就能替代三个单轴的。3轴的体积小、重量轻、结构简单、可靠性好,是激光陀螺的发展趋势。对于激光陀螺则更多应用于军事方面,我们暂且不做讨论。不过我们可以看出iPhone 4应用的三轴陀螺仪是较为先进的。
如果说,重力感应器所能测的是直线的,方面感应器所测的是平面得,那么三轴陀螺仪所测的方向和位置则是立体的。特别是玩一些像彩虹六号,那种第一人称射击游戏,你会发现三轴陀螺仪的效果是很明显的。


距离传感器

  距离传感器是利用测时间来实现测距离的原理,以检测物体的距离的一种传感器。工作原理:通过发射特别短的光脉冲,并测量此光脉冲从发射到被物体反射回来的时间,通过测时间来计算与物体之间的距离。这个传感器在手机上的作用是当我们打电话时,手机屏幕会自动熄灭,当你脸离开,屏幕灯会自动开启,并且自动解锁。这个对于待机手机较短的智能手机来说是相当实用的。现在很多智能手机都装备的这个传感器。


光线传感器(感应器)

  光线传感器,也就是感光器,是能够根据周围光亮明暗程度来调节屏幕明暗的装置。就是在光线强的地方手机会自动关掉键盘灯,并且稍微加强屏幕亮度,达到节电并更好观看屏幕的效果,在光线暗的地方自动打开键盘灯。可以到工具设置中调节关掉。这个传感器也主要起到节省手机电力的作用,毕竟现在的智能手机的待机时间都很令人头痛,能节省就节省吧。

 

电子罗盘,也叫方位感应器(传感器)
电子罗盘,也叫数字指南针,是利用地磁场来定北极的一种方法。古代称为罗经,现代利用先进加工工艺生产的磁阻传感器为罗盘的数字化提供了有力的帮助。现在一般有用磁阻传感器和磁通门加工而成的电子罗盘。这个就是电子版指南针,配合GPS和地图时非常好用,不会整的晕头转向。
当然除了这些较为常见的传感器之外,在女性手机上可以见到紫外线传感器,在军用手机上可以看到气压和温度传感器等等。

 

  2011年,智能手机的发展可以用飞速来形容,随之而来的还有各种全新的技术。去年的E3大展上,不论是智能手机,还是索尼的PSV或是任天堂的Wii U游戏机,它们在硬件配置上都有着很大的共同之处。例如重力感应、三重陀螺仪、加速度计等等。那么这些既熟悉又陌生的技术到底有什么作用呢?本篇文章中,笔者就带大家盘点一下和手机传感器有关的事情,让我们充分了解这些互动技术。

  现阶段来看,智能手机已经迎来了它们的新时代。其实早在几年前就有了重力感应器。如今,纵观主流智能机,重力感应器已经成为了很多手机的标配。在应用方面更是别出心裁,这其中包含了屏幕自动旋转、摇一摇找好友、各种甩歌操作。在手机游戏中也是层出不穷。在iOS、Android平台中,多数游戏都运用了重力感应器。例如极品飞车系列、现代战争系列等等。在脱离了传统单一的触控式操作之后,这种新玩法显然能给用户带来新鲜的操作体验。


全球最薄的加速度计

  2010年6月,首款携带三重陀螺仪的智能手机iPhone 4正式发布。iOS一直都是手机游戏的最佳平台之一。在iPhone中,我们玩游戏的方式多种多样,虚拟摇杆、触控操作、重力感应、声控、摄像头等都可以用来控制游戏。此后,魅族MX等搭载Android系统的智能手机也顺利的加入了三重陀螺仪技术。与此同时,支持三重陀螺仪的软件和游戏也在不断增加。重力感应、陀螺仪等传感器的出现充分增强了玩家的操作体验,缩短了现实与虚拟世界的距离。

所谓电子产品的传感器,实际上就是指能够探测并感受到外界的信号、光、热量、温度等的物理装置。下面我们就共同了解一下手机中常见的五种传感器。

重力感应

    首先我们来了解一下何为重力感应技术。它是利用压电效应来实现,通过测量内部一片重物重力正交两个方向分力的大小,从而判定水平方向。在智能手机中,系统默认手机水平放置时为重力感应的中心。但是在现实中,玩家在操作时很难做到让手机保持水平姿态。因此,一般在游戏的设置中,就会有设定功能,让玩家自己选择持握状态下的中心。



利用重力感应技术的平板电脑

    目前多数智能手机都采用了G-Sensor重力感应器+三轴加速度计的组合。如果只用G-Sensor的手机时最多只能倾斜90度,并不能360度旋转。

MEMS三轴加速度计

    三轴加速度计是手机上另一个输出传感器。可以根据由于重力感应产生的加速度来计算出设备相对于水平面的倾斜度。因此,该技术也经常被人们和重力感应混为一谈。实际上这里有一些明显的标志分清它们。首先,MEMS三轴加速度计可以感知重力、手机的静态姿态以及运动方向。其次,带有加速度计的手机屏幕会随着角度的不同智能旋转。此外,音乐播放器软件中热门的甩歌功能,聊天软件微信摇一摇功能也基于加速度计。当然,游戏方面也充分利用了该功能。例如赛车游戏中的漂移触发。


3D方位感测器

电子罗盘

    电子罗盘是应用到手机中的磁阻传感器的一项功能。虽然手机可以通过GPS来定位。但是在GPS信号不好或者无网络的情况下,我们如何感知方位呢?近些年流行开来的电子罗盘功能便可以判断东南西北。而这一切都是通过地球磁场来分辨的。在危急情况下也可以用来充当指南针导航。

 
运用在手机中的电子罗盘

FPS游戏必备之三重陀螺仪

    从2010年iPhone 4首次引入陀螺仪后,手机游戏便发生了翻天覆地的变化。此前,陀螺仪技术更多的被应用于直升飞机中,飞行中可以充分保持平衡。在智能手机、游戏中的展现主要得益于MEMS应用半导体技术的发展。它是一种能制作极小机械构造的微型加工技术。总的来看,MEMS三重陀螺仪和MEMS三轴加速度计有着精准、小巧、成本低廉的特点。



利用三重陀螺仪瞄准射击

    简单介绍一下陀螺仪的有关概念。陀螺仪是用于测量或维持方向的设备,基于角动量守恒原理,能判断物体在空间中的相对位置、方向、角度以及水平的变化作用。最终根据用户的动作输出相对应的指令。下面我们来看看几个实际例子。著名游戏现代战争3就是可以依靠陀螺仪进行瞄准射击的。开启陀螺仪之后,这就意味着我们需要不断转动身体进行操作。


陀螺仪让游戏效果更加真实

光线距离感应器

    下面我们再来看看手机上的光线距离感应器。手机中的光线感应是利用光线传感器实现的。一般都是设计在传感器屏幕上方,通过识别外界光线的强弱在显示效果中做出调节。利用传感器,最明显的例子就是手机自动感应周围环境,让屏幕亮度自动调节。


手机上方的光线感应器

    距离感应器也被称为位移传感器。可以通过感应传感器到对象间的距离变化来实现操作。一般而言,距离感应器都在听筒的附近,当我们接听或拨打电话时,距离感应器就可以通过测量耳朵与听筒的距离从而实现屏幕显示的自动开启和关闭,最终可以有效的节省电量。

总结:

    笔者认为,未来手机终端触控+体感的操作将会是大趋势,并且裸眼3D技术将来也有可能和各类传感器结合到一起。通过智能手机与平板电脑传感器的发展方向来看,将它们结合到一起并不是难事。传感器的出现让人们和手机等电子设备的互动更加真实。同时我们也很高兴的发现出现了越来越多支持三重陀螺仪、加速度计等操作的软件应用。在2012年刚刚到来之际,我们也期待手机终端的操作能更加多元化、更加随心所欲,最终实现更完美的人机互动。

智能手机上的常用传感器

标签:android   style   blog   color   io   os   使用   ar   strong   

原文地址:http://www.cnblogs.com/heiyue/p/4001638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!