为什么手机会旋转屏幕,手机自动旋转

手机之所以可以感知方向改变并旋转屏幕显示是因为手机内部内置有加速度计 。首先我们先了解一些关于加速度计的相关知识 。它由两个基础部分组成 , 一个与要测量加速度的物体连接的一块壳体 , 以及一个与壳体相连仍可以自由移动的质量块,如图中就是一条弹簧连接着一个金属球 。

为什么手机会旋转屏幕,手机自动旋转

文章插图
当我们把壳体向上移动时,金属球就会因为惯性向下拉弹簧,这时我们只需要测量出弹簧的拉伸量,就可以由此计算出重力 。由此,三个这样的加速度计就可以测量出一个物体在三维方向中的运动方向 。
为什么手机会旋转屏幕,手机自动旋转

文章插图
当Z轴上的加速度计与重力方向垂直的时候,只有X轴上的小球拉伸弹簧产生拉伸量 。当发生翻转时,这时Z轴指向上方,这时只有沿着Z轴的加速度计的弹簧被拉伸 。
那么这个加速度计芯片是如何工作的呢?下图为早期iPhone手机中的感应装置,内部有一个加速度计芯片装置 。那么手机中的芯片是如何检测到这样的重力变化的呢?虽然它要比上述例子中的小球与弹簧的模型复杂得多 。但是它们的组成部分依然是相同的 。
为什么手机会旋转屏幕,手机自动旋转

文章插图
芯片内设置了用硅制作的微小加速度计,包含一个固定在手机上的壳体和一个形状像我们平时使用的梳子 , 可以前后移动的组件,它的作用类似于金属球产生的惯性质量,在这里,弹簧就变成了与壳体相连的可以灵活移动的硅片,显然,若我们能测量出中间组件的位移量,就可以获得运动的方向了 。
为什么手机会旋转屏幕,手机自动旋转

文章插图
通过加速度计上的三个指针来解释其工作原理,这三个指针构成一个差分电容 , 意味着只要中间指针移动就可以产生电流 。在当初设计中 , 将电流与加速度关联在一起 。
【为什么手机会旋转屏幕,手机自动旋转】
为什么手机会旋转屏幕,手机自动旋转

文章插图
对于大部分手机来说 , 当手机处于默认的竖屏幕方向时,会相对于手机屏幕来定义一个三维坐标系,如下图所示,其中,与手机屏幕在一个平面内的X、Y轴中,X轴为水平向右为正 , Y轴为垂直向上为正,Z轴为垂直于屏幕向外为正 。在此坐标系中,屏幕后面的坐标将具有负Z值 。
手机能感应到屏幕重力加速度感应可以想象成一个小球位于此坐标系中,三个方向上的加速度 。永远以手机屏幕为准 , 不以外界为准作图 。
为什么手机会旋转屏幕,手机自动旋转

文章插图
注:关于此坐标系,特别需要注意的一点就是传感器的坐标系不会随着设备的移动而改变 。
当手机屏如上图所示水平放置时,手机内加速度计的坐标(x,y,z)=(0,0,-9.8),当手机顶部抬起时:y减小,且为负值;当手机底部抬起时:y增加,且为正值;当手机右侧抬起时:x减小,且为负值;当手机左侧抬起时:x增加,且为正值;手机屏幕向上水平放置时,z=-9.81;手机屏幕竖直放置时,z=0;手机屏幕向下水平放置时,z=9.81 。
因此在系统中设置好手机屏发生切换的坐标阈值,当你在使用手机的时候,y坐标值达到阈值时 , 就会发生竖向切换,同理当x值达到阈值时候,手机就会发生横向切换 。
这下你知道了你的手机屏幕为什么可以旋转了吗?欢迎大家点赞关注!