传感器

什么是传感器

传感器是一种感应\检测装置, 目前已经广泛应用于智能手机上

传感器的作用

用于感应\检测设备周边的信息

不同类型的传感器, 检测的信息也不一样

iPhone中的下面现象都是由传感器完成的

在地图应用中, 能判断出手机头面向的方向

一关灯, iPhone会自动降低亮度让屏幕显得不是那么刺眼

打电话时, 人脸贴近iPhone屏幕时, 屏幕会自动锁屏, 达到省电的目的

... ...

传感器的类型

iPhone5中内置的传感器有

  • 运动传感器\加速度传感器\加速计(Motion/Accelerometer Sensor)
  • 环境光传感器(Ambient Light Sensor)
  • 距离传感器(Proximity Sensor)
  • 磁力计传感器(Magnetometer Sensor)
  • 内部温度传感器(Internal Temperature Sensor)
  • 湿度传感器(Moisture Sensor)
  • 陀螺仪(Gyroscope)
  • ... ...

环境光传感器(Ambient Light Sensor)

是iOS、Mac设备中最为古老的传感器成员

它能够让你在使用 Mac、iPhone、iPad时,眼睛更为舒适

从一个明亮的室外走入相对黑暗的室内后,iOS设备会自动调低亮度,让屏幕显得不再那么光亮刺眼

当你使用iPhone拍照时,闪光灯会在一定条件下自动开启

几乎所有的Mac 都带有背光键盘,当周围光线弱到一定条件时,会自动开启键盘背光

距离传感器(Proximity Sensor)

用于检测是否有其他物体靠近设备屏幕

当你打电话或接电话时将电话屏幕贴近耳边,iPhone会自动关闭屏幕 ,好处是

节省电量

防止耳朵或面部不小心触摸屏幕而引发一些不想要的意外操作

题外话:利用距离传感器,能找出很多电视剧的穿帮镜头

    

磁力计传感器(Magnetometer Sensor)

  • 可以感应地球磁场, 获得方向信息, 使位置服务数据更精准
  • 可以用于电子罗盘和导航应用
  • iPad的Smart Cover盒盖睡眠操作就是基于磁力计传感器

内部温度传感器(Internal Temperature Sensor)

从 iPad一代开始,iOS设备都加入了一个内部温度传感器,用于检测内部组件温度,当温度超过系统设定的阈值时,会出现以下提示

内部温度传感器,对于提升iOS设备自身安全性与稳定性有很大的帮助

湿度传感器(Moisture Sensor)

湿度传感器跟其他基于微电子的传感器不同,是一个简单的物理传感器

简单来说,湿度传感器就是一张遇水变红的试纸

Apple的维修人员就是通过检测试纸是否变红,来判断设备是否进水

(设备进水不在保修范围之内)

陀螺仪(Gyroscope)

  • 陀螺仪是随着iPhone4的上市首次出现在iOS设备上的传感器
  • 陀螺仪可以用于检测设备的持握方式
  • 陀螺仪的原理是检测设备在X、Y、Z轴上所旋转的角速度

陀螺仪在赛车类游戏中有重大作用:

模拟汽车驾驶时方向盘旋转的动作

使得这类游戏的操控体验更为真实

运动传感器\加速度传感器\加速计(Motion/Accelerometer Sensor)

最早出现在iOS设备上的传感器之一

加速计用于检测设备在X、Y、Z轴上的加速度 (哪个方向有力的作用)

加速计可以用于检测设备的摇晃,经典应用场景

  • 摇一摇
  • 计步器

传感器总结

传感器类型

作用

环境光传感器

感应周边环境光线的强弱(自动调节屏幕亮度)

距离传感器

感应是否有其他物体靠近设备屏幕(打电话自动锁屏)

磁力计传感器

感应周边的磁场(合盖锁屏)

内部温度传感器

感应设备内部的温度(提醒用户降温,防止损伤设备)

湿度传感器

感应设备是否进水(方便维修人员)

陀螺仪

感应设备的持握方式(赛车类游戏)

加速计

感应设备的运动(摇一摇、计步器)

距离传感器的使用

 1 // 开启距离感应功能
2 [UIDevice currentDevice].proximityMonitoringEnabled = YES;
3 // 监听距离感应的通知
4 [[NSNotificationCenter defaultCenter] addObserver:self
5 selector:@selector(proximityChange:)
6 name:UIDeviceProximityStateDidChangeNotification
7 object:nil];
8
9 - (void)proximityChange:(NSNotificationCenter *)notification {
10 if ([UIDevice currentDevice].proximityState == YES) {
11 NSLog(@"某个物体靠近了设备屏幕"); // 屏幕会自动锁住
12 } else {
13 NSLog(@"某个物体远离了设备屏幕"); // 屏幕会自动解锁
14 }
15 }
 

本文转自:http://www.cnblogs.com/dongwenbo/p/4301530.html

iphone传感器的更多相关文章

  1. objccn-相机工作原理

    感觉这个世界上最幸福的事情就是工作和兴趣结合到一起了.这一阵子总是在听再看有关摄影的种种,今天在objccn上又看到这个,哈哈~ 轻轻一按,相机就把光子转化成了比特,于是一张照片就保存到了手机里. 一 ...

  2. 苹果5S指纹扫描识别传感器Touch ID有利于iPhone的安全性

    iPhone5S新增的指纹扫描识别传感器 Touch ID,黑客花了大量的时间表明指纹验证是可以被破解的.即使它可能被黑客攻击,对iPhone5S的安全性而言,仍然具有极大的好处. 为什么一个容易被破 ...

  3. 苹果未来:增强现实设备将会取代iPhone

    近日,华尔街知名度相当高的苹果分析师木斯特(Gene Munster)决定转行组建自己的风险投资公司,临走前他发布了最后一份关于苹果的研究报告,他对苹果未来的发展进行了一番预测.Munster表示,以 ...

  4. iOS开发之──传感器使用 (转载)

    在实际的应用开发中,会用到传感器,下面首先介绍一下iphone4的传感器,然后对一些传感器的开发的API作一简单介绍. AD:WOT2015 互联网运维与开发者大会 热销抢票 在实际的应用开发中,会用 ...

  5. 转- android硬件传感器

    纯属转载:http://dev.10086.cn/cmdn/bbs/thread-41843-1-1.html 1.传感器入门 自从苹果公司在2007年发布第一代iPhone以来,以前看似和手机挨不着 ...

  6. iOS开发 传感器(加速计、摇一摇、计步器)

    一.传感器 1.什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下 ...

  7. iOS开发——高级篇——传感器(加速计、摇一摇、计步器)

    一.传感器 1.什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下 ...

  8. iOS中检测硬件和传感器

    首先要知道,你需要查看所需的硬件或传感器是否存在,而不是假设设备有哪些功能.举个例子,你不能假设只有iPhone才有麦克风,而应该使用API来查看麦克风是否存在.下面这段代码的第一个优势在于,它能自动 ...

  9. iOS CoreMotion框架(传感器)

    我们知道iOS的应用真的太多了,很多应用让我们惊叹不已!!!很多意想不到的应用! 比如: 1.电子罗盘指南针之类的应用-让我们知道方向. 2.运动类型软件-让我们知道我们跑步多少公里. 3.社交软件中 ...

随机推荐

  1. 【PA2012】【BZOJ4289】Tax

    Description 给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值.求从起点1到点N的最小代价. 起点的代价是离开起点的边的边权.终点的代价是进入终点的边的 ...

  2. 使用Java取得本机IP和机器名

    try { InetAddress addr = InetAddress.getLocalHost(); String ip=addr.getHostAddress().toString();//获得 ...

  3. synchronized的功能拓展:重入锁(读书笔记)

     重入锁可以完全代替synchronized关键字.在JDK5.0的早期版本中,重入锁的性能远远好于synchronized,但是从JDK6.0开始.JDK在synchronized上做了大量的优化. ...

  4. java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z解决方法

    执行JavaEE项目时出现例如以下错误: java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z a ...

  5. JDK与adb/android环境变量配置完整教程

    在这篇文章中.主要解决一个在Java或者Android开发中第一步须要解决的问题,那就是环境变量的配置.因为这部分在网上有非常多教程.參差不齐.我这里主要是对JDK与adb/android两者的环境变 ...

  6. Spring Boot(六): Favicon配置

    1.默认的Favicon Spring Boot提供了一个默认的Favicon,每次访问应用的时候都能看到,如图所示. 2.关闭Favicon 我们可以在application.properties中 ...

  7. ACM算法整理(不断补充ing)

    动态规划 1.背包问题 (1)01背包 ,n) DFR(v,V,C[i]) F[v]=max(F[v],F[v-C[i]]+W[i]); } //初始化时 //若背包不一定装满F全初始化为0 //若装 ...

  8. MySQL二:数据库操作

    阅读目录 一 知识储备 二 初识SQL语言 三 系统数据库 四 创建数据库 五 数据库相关操作 一 知识储备 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理 ...

  9. .Vue 文件 ES6 语法 webstorm 中的一个识别Bug

    webstorm 2017 版本中即使安装了vue template file 设置了 js 语言为 es6 语法仍旧会出现识别不了划线的情况,苦寻很久,最后解决方式如下 <script typ ...

  10. Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)

    Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...