美文网首页
14.11 传感器详解

14.11 传感器详解

作者: jadefly | 来源:发表于2018-09-14 10:07 被阅读0次

    简介

    在Android平台中,传感器框架通常是使用一个标准的三维坐标系来表示一个值。

    三维坐标

    X轴的方向:沿着屏幕水平方向从左到右,如果手机如果不是是正方形的话,较短的边需要水平 放置,较长的边需要垂直放置。

    Y轴的方向:从屏幕的左下角开始沿着屏幕的的垂直方向指向屏幕的顶端

    Z轴的方向:当水平放置时,指向天空的方向


    方向传感器(Orientation sensor)

    注:方向传感器其实就是利用加速度传感器和磁场传感器来获取方位的。

    传感器的回调方法:onSensorChanged中的参数SensorEvent event,event的 值类型是Float[]的,而且最多只有三个元素,

                                    而方向传感器则刚好有三个元素,都表示度数。

    values[0]:方位角,手机绕着Z轴旋转的角度。(指南针)

                      当手机水平放置时,0表示正北(North),90表示正东(East), 180表示正南(South),270表示正西(West)。

    values[1]:倾斜角,手机绕着x轴倾斜时的角度。取值范围是[-180,180]之间。

                      手机水平放置桌面,屏幕朝上,此时value[1] = 0。

    value[2]:滚动角,沿着Y轴的滚动角度,取值范围为:[-90,90]之间。

                    手机水平放置桌面,屏幕朝上,此时value[2] = 0。


    加速传感器(Accelerometer sensor)

    加速度传感器的单位:加速度(m/s^2)

    方向传感器获取到的加速度是:手机运动的加速度与重力加速度(9.81m/s^2)的合加速度

    可以实现:计步器

    实现计步器几步一般有2种方法:

    1.利用加速传感器,通过计算二次波峰来确定每一步,这种方法误差比较大,但普适性好;

    2.利用Android4.4之后的Sensor.TYPE_STEP_DETECTOR来计步;


    陀螺仪传感器(Gyroscope sensor)

    也称角速度传感器,一般用来检测手机姿态的,好像手机中的陀螺仪传感器一般都是三轴的! 体感游戏用得最多,手机拍照防抖,GPS惯性导航,还有为APP添加一些动作感应(比如轻轻晃动手机 关闭来电铃声)等等。

    陀螺仪传感器的单位:角速度(弧度/秒)radians/second

    计算角度

    磁场传感器(Magnetic field sensor)

    作用:该传感器主要用于读取手机附近的磁场变化

    传感器的值采集到的值:有三个,分别是:X,Y,Z轴上方向上的磁场值

    数值单位:T,微特斯拉

    传感器获取:Sensor.TYPE_MAGNETIC_FIELD


    距离传感器(Proximity sensor)

    作用:用于感应手机与人体的距离。比如手机通话时候,脸部贴近屏幕时会熄灭, 离开屏幕一段距离又会亮起,避免脸部误碰挂断按钮。

    传感器的值采集到的值:有一个,物体与设备间的距离

    数值单位:cm,厘米

    传感器获取:Sensor.TYPE_PROXIMITY

    关于距离传感器可能有两种:

    1.能直接给出距离的

    2.给出靠近或者远离,返回两个值0.0或者最大值

    通过对比解析度sensor.getResolution()和最大值getMaximumRange()是否相等进行判断


    光线传感器(Light sensor)

    作用:用来读取光度值,即光线强度

    传感器的值采集到的值:有一个,光亮度值

    数值单位:lux,1流明每平方米面积,就是1勒克斯(lux),最大值是:120000.0f

                      Android 中把光线强度分了不同的等级,可以自行查看SensorManager类~

    传感器获取:Sensor.TYPE_LIGHT


    气压传感器(Pressure sensor)

    作用:用于测量大气压力,常用于测量海拔高度

    传感器的值采集到的值:有一个,大气压值

    数值单位:hPa,百帕

    传感器获取:Sensor.TYPE_PRESSURE


    温度传感器(Temperature sensor)

    作用:测量手机内部的温度或者外部环境的问题

    传感器的值采集到的值:有一个,温度值

    数值单位:℃,摄氏度

    传感器获取:Sensor.TYPE_TEMPERATURE(手机内部)/TYPE_AMBIENT_TEMPERATURE(手机外部)


    相关文章

      网友评论

          本文标题:14.11 传感器详解

          本文链接:https://www.haomeiwen.com/subject/rrkggftx.html