理解手机中的感应器模块:重力感应/光线感应/电子罗盘/陀螺仪模块功能

在用js里的deviceorientation事件写翻转手机屏幕的demo,iphone和同事的安卓都可以,就我的酷派f1不行。

记得以前也玩过重力感应的游戏,于是上网查了一下酷派大神f1的感应器模块配置参数:

看完后知道orientationchange翻转屏幕事件应该用到了重力感应,deviceorientation应该跟陀螺仪有关。

网上找了点这些模块的说明,分享给大家:

重力感应

重力感应器算出现比较早的手机传感器。现在,大多数主流智能机都装有这个配置。在iOS、Android平台中,很多游戏都运用到重力感应器,比如极品飞车系列、现代战争系列等等,它们带给用户新鲜的体验。何谓重力感应技术呢?简单来说它是基于压电效应,通过测量内部一片重物重力正交两个方向分力的数值,这样判别水平方向。一般手机系统默认重力感应的中心为水平放置。但是在应用中,用户在娱乐时难以做到让手机永远保持水平姿势。所以,用户也可以自己选择设置持握状态下的中心。但是如果手机只装配了重力感应器的话,那它最多只能感应倾斜90度,如果再加上三轴加速度传感器,那就扩展到360度了。接下来我们说下三轴加速度传感器。
三轴加速度传感器

它是手机中另一个非常重要的传感器,可以根据重力感应产生的加速度来推算出手机相对于水平面的倾斜度。所以,有时人们把它与重力感应器相混淆。下面说下它们之间的不同点。第一,MEMS三轴加速度传感器可以感知内容有重力、手机的静态姿态以及运动方向等。第二,装有加速度传感器的手机屏幕会随着角度的不同智能旋转,手机中甩歌功能、微信中摇一摇都是利用它实现的。此外,游戏中也经常需要用到它,赛车中的漂移触发就是来源于此。

光线感应

它是利用光线传感器进行实现的,通过识别外界光线的强弱让屏幕亮度自动调节。距离感应器也叫做位移传感器,它是通过感应传感器到用户间的距离变化来实现操作。通常,它位于听筒附近,当我们在接听或拨打电话的时候,距离感应器通过测量耳朵与听筒之间的距离,让屏幕显示的自动开启和关闭,达到节约电池电量的目的。

电子罗盘

电子罗盘可以用来感知方位,这在无GPS信号或网络状态不好的时候,很有用处。它是通过地球磁场来进行分辨的,紧急情况下可以当作指南针使用,感知东南西北的方向。

陀螺仪

第一个装配陀螺仪的当属大红的iPhone 4了,它带给用户以外的惊喜。最早,陀螺仪大多应用于直升飞机中,以保持飞机姿态,块头也比较大。有了MEMS技术之后,把它的体积变小很多,可以集成到手机里面,价格也降低很多。它是利用角动量守恒原理,可以判别物体在空间中的相对位置、方向、角度和水平的变化。启用陀螺仪之后,需要不断转动身体进行操作,这也给用户带来一种实战的感觉。著名游戏现代战争3就是靠陀螺仪来进行瞄准射击的,喜欢玩的朋友一定不会陌生,谁玩谁知道啊。

时间: 2024-10-01 05:13:59

理解手机中的感应器模块:重力感应/光线感应/电子罗盘/陀螺仪模块功能的相关文章

Android调用手机中的应用市场,去评分的功能实现

在我们常常使用的软件当中,我们经常可以看到在软件的设置界面,有一个功能那就是去评分的功能,只要我们一点击“去评分”就会调用手机中的应用市场软件.一开始我以为这个功能的实现是要遍历整个手机中的软件包名,去匹配市场上的大多数应用市场软件呢,这个方法一看就非常麻烦.之后,经过研究才发现其实这个功能实现非常简单. 四行代码就能实现,就能够调用出您手机上所安装的所有应用市场. 代码如下: Uri uri = Uri.parse("market://details?id="+getPackageN

华为手机中5个堪称黑科技功能,用完这些,才知道这钱没有白花!

近年来,华为手机发展的越来越好,用实力证明了自己的能力,用实际行动去证明了它,从而也收获了一批又一批的花粉,那作为用华为手机的你,你知道华为手机中有哪些实用的手机功能吗?今天就来为大家简单分享5个隐藏功能,花粉必知! 1.相册的隐身衣 现在的年轻人嘛,总是或多或少都会有些一下自己的隐私,就拿手机中的照片来说,有一些照片你就不想让外人看见,那如果你用的是华为手机,那这个问题就很好解决啦. 使用方法:打开手机中的[图库]功能-[相册]-[右上角功能]-[隐藏相册]-[开启按钮]. 2.速记 记笔记是

HTML5手机重力与方向感应的应用——摇一摇效果

http://www.helloweba.com/view-blog-287.html HTML5有一个重要特性:DeviceOrientation,它将底层的方向和运动传感器进行了高级封装,它使我们能够很容易的实现重力感应.指南针等有趣的功能.本文将结合实例给大家介绍使用HTML5的重力运动和方向传感器实现手机摇一摇效果. DeviceOrientation包括两个事件: 1.deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度.方

关于鼠标事件和手机中的各个事件的几点总结

今天就来盘点一下鼠标的事件和手机触摸事件. 一.鼠标事件 onmousedown事件,当鼠标左键按下时触发. 如:当鼠标元素boxq1上按下时,改变它的背景颜色. var box1 = document.getElementById("box1"); box1.onmousedown = function(){ box1.style.backgroundColor = 'green'; }; 2. onmouseup事件,当鼠标左键抬起时触发.如:鼠标按下之前元素box1背景颜色为红色

(七)理解angular中的module和injector,即依赖注入

依赖注入(DI)的好处不再赘言,使用过spring框架的都知道.angularjs作为前台js框架,也提供了对DI的支持,这是javascript/jquery不具备的特性.angularjs中与DI相关有angular.module().angular.injector(). $injector.$provide.对于一个DI容器来说,必须具备3个要素:服务的注册.依赖关系的声明.对象的获取.比如spring中,服务的注册是通过xml配置文件的<bean>标签或是注解@Repository.

Android菜单详解(一)——理解android中的Menu

前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至今为止看到的最好的一本android书,中文版出到<精通Android 2>. 理解Android的菜单 菜单是许多应用程序不可或缺的一部分,Android中更是如此,所有搭载Android系统的手机甚至都要有一个"Menu"键,由此可见菜单在Android程序中的特殊性.An

转: 理解AngularJS中的依赖注入

理解AngularJS中的依赖注入 AngularJS中的依赖注入非常的有用,它同时也是我们能够轻松对组件进行测试的关键所在.在本文中我们将会解释AngularJS依赖注入系统是如何运行的. Provider服务($provide) $provide服务负责告诉Angular如何创造一个新的可注入的东西:即服务(service).服务会被叫做provider的东西来定 义,你可以使用$provide来创建一个provider.你需要使用$provide中的provider方法来定义一个provi

深入理解nodejs 中 exports与module.exports

在Javascript 中,有2种作用域,分为 全局作用域 ,和函数作用域, 在 浏览器端 , 全局作用域 就是 window对象的属性, 函数作用域 就是 ,某个 函数 生成的对象的属性: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script> var name

深刻理解Python中的元类

译注:这是一篇在Stack overflow上很热的帖子.提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解.他知道这肯定和自省有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理解,以及在什么情况下需要进行元编程.于是e-satis同学给出了神一般的回复,该回复获得了985点的赞同点数,更有人评论说这段回复应该加入到Python的官方文档中去.而e-satis同学本人在Stack Overflow中的声望积分也高达6