具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的移动终端的结构框图。为了便于说明,仅示出了与本发明实施例相关的部分。
参照图1,所述移动终端包括机身本体11,以及与所述机身本体11连接的可旋转式摄像头部件12,所述机身本体11包括处理器111、马达112以及磁敏传感器113,所述可旋转式摄像头部件12包括磁铁121,所述处理器111分别与所述马达112以及所述磁敏传感器113电连接,所述马达112与所述可旋转式摄像头部件12连接,所述磁敏传感器113与所述磁铁121磁性连接,所述可旋转式摄像头部件12还包括接近传感器122,所述接近传感器122与所述处理器111电连接。
磁敏传感器113内置磁感应芯片。在可旋转式摄像头部件12旋转的过程中,磁敏传感器113感应到的磁场发生变化,由此磁敏传感器113的输出值发生变化,从而可通过磁敏传感器113的输出值判断摄像头的旋转角度。
优选地,所述磁敏传感器113为数字霍尔传感器。
本发明实施例通过接近传感器判断可旋转式摄像头部件与机身本体的相对位置,在接近传感器检测到的距离达到最小值时,确定可旋转式摄像头部件当前处于第一预设角度,根据第一预设角度及其对应的第一输出值对第一切换值以及第二切换值进行校准,再根据第一切换值以及第二切换值确定摄像头的前后置状态,由此使移动终端对于摄像头的前后置判断不受电磁环境的影响,提高了判断摄像头的旋转状态的准确性。
图2示出了本发明实施例提供的校准摄像头旋转角度的方法的实现流程图,该方法可应用于如图1所示的移动终端,参照图2,所述方法包括:
在步骤S201中,控制所述可旋转式摄像头部件旋转,以使所述可旋转式摄像头部件带动所述接近传感器旋转,并通过所述接近传感器检测所述接近传感器与所述机身本体的距离。
进一步地,所述控制所述可旋转式摄像头部件旋转具体为:
通过所述处理器控制所述马达旋转,以使所述马达带动所述可旋转式摄像头部件旋转。
在本发明实施例中,处理器与马达电连接,处理器电动控制马达旋转。马达与可旋转式摄像头部件连接,因此,马达旋转带动可旋转式摄像头部件旋转。可旋转式摄像头部件中包括摄像头、接近传感器以及磁铁,因此,可旋转式摄像头部件旋转带动摄像头、接近传感器以及磁铁旋转。
优选地,所述通过所述接近传感器检测所述接近传感器与所述机身本体的距离具体为:
通过所述接近传感器检测由所述机身本体反射的红外光的光强,根据预先存储的映射列表确定与检测到的所述光强对应的距离。
在本发明实施例中,接近传感器检测的接近传感器与机身本体的距离具体为接近传感器与移动终端主板的距离。接近传感器发出红外光,并接收由机身本体反射的红外光。接收的红外光的光强越大,在很大程度上表明接近传感器与机身本体的距离越小;接收的红外光的光强越小,在很大程度上表明接近传感器与机身本体的距离越大。
在步骤S202中,当通过所述接近传感器检测到的所述距离达到最小值时,确定所述可旋转式摄像头部件当前处于第一预设角度,并获取与所述第一预设角度对应的所述磁敏传感器的第一输出值。
优选地,所述当通过所述接近传感器检测到的所述距离达到最小值时,确定所述可旋转式摄像头部件当前处于第一预设角度具体为:
当通过所述接近传感器检测到的所述光强达到最大值时,判定所述接近传感器与所述机身本体的距离达到最小值,并确定所述可旋转式摄像头部件当前处于第一预设角度。
在可旋转式摄像头部件旋转的过程中,接近传感器持续检测红外光,并在检测到的红外光的光强达到最大值时,判定接近传感器与机身本体的距离达到最小值。在本发明实施例中,为了便于说明,假设接近传感器与机身本体的距离达到最小值时,摄像头与指定方向的夹角为90度。其中,指定方向指的是垂直于移动终端的屏幕且由移动终端屏幕指向移动终端后壳的方向。当接近传感器与机身本体的距离达到最小值时,确定可旋转式摄像头部件当前处于第一预设角度,在这里,我们让可旋转式摄像头部件的旋转角度等于摄像头的旋转角度,即当接近传感器与机身本体的距离达到最小值时,确定可旋转式摄像头部件当前处于90度。
在步骤S203中,计算所述第一输出值与预先存储的第一预设值的差值的绝对值,若所述差值的绝对值大于第二预设值,则控制所述可旋转式摄像头部件由所述第一预设角度向第一预设方向旋转至第二预设角度,并记录与所述第二预设角度对应的所述磁敏传感器的第二输出值;控制所述可旋转式摄像头部件由所述第一预设角度向第二预设方向旋转至第三预设角度,并记录与所述第三预设角度对应的所述磁敏传感器的第三输出值。
优选地,磁敏传感器为数字霍尔传感器。若预先存储的第一预设值为0,第二预设值为5,而第一输出值为10,则第一输出值与预先存储的第一预设值的差值的绝对值大于第二预设值,表明磁场受到了干扰。
第二预设角度以及第三预设角度是用于切换摄像头的前后置状态的两个角度。例如,第二预设角度为80度,第三预设角度为110度。
分别获取第二预设角度对应的磁敏传感器的第二输出值,以及第三预设角度对应的磁敏传感器的第三输出值,以用于判断是否切换摄像头的旋转状态。例如,第二输出值为5,第三输出值为25。
进一步地,所述控制所述可旋转式摄像头部件由所述第一预设角度向第一预设方向旋转至第二预设角度具体为:
通过所述马达控制所述可旋转式摄像头部件由所述第一预设角度向第一预设方向旋转第三预设值,以达到第二预设角度;
所述控制所述可旋转式摄像头部件由所述第一预设角度向第二预设方向旋转至第三预设角度具体为:
通过所述马达控制所述可旋转式摄像头部件由所述第一预设角度向第二预设方向旋转第四预设值,以达到第三预设角度。
由于马达中的每个齿轮旋转的角度都是精确的,因此,处理器可控制马达旋转精确的角度。例如,第一预设角度为90度,第二预设角度为80度,第三预设角度为110度,第一预设方向为顺时针方向,第二预设方向为逆时针方向,则第三预设值为10度,第四预设值为20度。处理器控制马达旋转,由马达带动可旋转式摄像头部件由90度向顺时针方向旋转10度,使可旋转式摄像头部件到达80度的位置,即使摄像头处于80度的位置;马达带动可旋转式摄像头部件由90度向逆时针方向旋转20度,使可旋转式摄像头部件到达110度的位置,即使摄像头处于110度的位置。
在步骤S204中,将所述第二输出值作为第一切换值,将所述第三输出值作为第二切换值。
例如,将第一切换值设置为5,将第二切换值设置为25。
在步骤S205中,根据所述第一切换值以及所述第二切换值确定所述摄像头的前后置状态。
图3示出了本发明另一实施例提供的校准摄像头旋转角度的方法的实现流程图,为了便于说明,仅示出了与本发明实施例相关的部分。参照图3:
在步骤S301中,控制所述可旋转式摄像头部件旋转,以使所述可旋转式摄像头部件带动所述接近传感器旋转,并通过所述接近传感器检测所述接近传感器与所述机身本体的距离;
在步骤S302中,当通过所述接近传感器检测到的所述距离达到最小值时,确定所述可旋转式摄像头部件当前处于第一预设角度,并获取与所述第一预设角度对应的所述磁敏传感器的第一输出值;
在步骤S303中,计算所述第一输出值与预先存储的第一预设值的差值的绝对值;
在步骤S304中,判断所述差值的绝对值是否大于第二预设值;若是,执行步骤S305;若否,执行步骤S306;
在步骤S305中,控制所述可旋转式摄像头部件由所述第一预设角度向第一预设方向旋转至第二预设角度,并记录与所述第二预设角度对应的所述磁敏传感器的第二输出值;控制所述可旋转式摄像头部件由所述第一预设角度向第二预设方向旋转至第三预设角度,并记录与所述第三预设角度对应的所述磁敏传感器的第三输出值;将所述第二输出值作为第一切换值,将所述第三输出值作为第二切换值;
在步骤S306中,根据预先存储的第五预设值作为所述第一切换值,将预先存储的第六预设值作为所述第二切换值;
在步骤S307中,根据所述第一切换值以及所述第二切换值确定所述摄像头的前后置状态。
在本发明实施例中,当第一输出值与预先存储的第一预设值的差值的绝对值小于或等于第二预设值时,表明磁敏传感器受到的磁场干扰较小,因此,利用预先存储的第五预设值以及第六预设值来对摄像头的前后置状态进行判断。
图4示出了本发明实施例提供的校准摄像头旋转角度的方法步骤S205所述根据所述第一切换值以及所述第二切换值确定所述摄像头的前后置状态的具体实现流程图,参照图4:
在步骤S401中,获取所述磁敏传感器的连续N个输出值,根据所述N个输出值确定所述可旋转式摄像头部件的当前旋转角度区间,其中,N为大于或等于2的整数;
在步骤S402中,获取所述摄像头的当前旋转状态;
在步骤S403中,根据所述N个输出值、所述当前旋转状态以及所述当前旋转角度区间确定所述摄像头的前后置状态。
当前旋转角度区间包括第一旋转角度区间以及第二旋转角度区间。第一旋转角度区间为0度~180度,第二旋转角度区间为180度~206度。从0度到180度,数字霍尔传感器的输出值逐渐增大;从180度206度,数字霍尔传感器的输出值逐渐减小。数字霍尔传感器的输出值相对于旋转角度的变化率在第一旋转角度区间小于第二旋转角度区间,因此,根据数字霍尔传感器的连续N个输出值,计算每两个连续的输出值的差值的绝对值,可得到N-1个差值的绝对值,根据N-1个差值的绝对值可确定可旋转摄像头部件的当前旋转角度区间。在这里,N可以为3,在此不作限定。进一步地,当N-1个差值的绝对值均小于第七预设值时,则判定当前旋转角度区间为第一旋转角度区间;当N-1个差值的绝对值均大于或等于第七预设值且小于第八预设值时,判定当前旋转角度区间为第二旋转角度区间。
进一步地,步骤S403所述根据所述N个输出值、所述当前旋转状态以及所述当前旋转角度区间确定所述摄像头的前后置状态包括:
当所述摄像头的当前旋转状态为后置状态,且所述当前旋转角度区间为第一旋转角度区间时,判断所述N个输出值中的最后一个输出值是否小于所述第二切换值,若是,保持所述摄像头的旋转状态为所述后置状态;若否,将所述摄像头的旋转状态切换为前置状态;
当所述摄像头的当前旋转状态为所述后置状态,且所述当前旋转角度区间为第二旋转角度区间时,将所述摄像头的旋转状态切换为所述前置状态;
当所述摄像头的当前旋转状态为所述前置状态,且所述当前旋转角度区间为第一旋转角度区间时,判断所述N个输出值中的最后一个输出值是否大于所述第一切换值,若是,保持所述摄像头的旋转状态为所述前置状态;若否,将所述摄像头的旋转状态切换为所述后置状态;
当所述摄像头的当前旋转状态为所述前置状态,且所述当前旋转角度区间为第二旋转角度区间时,保持所述摄像头的旋转状态为所述前置状态。
假设摄像头的总旋转角度区间为0度至206度。通过本发明实施例,实现了:若摄像头的当前旋转状态为后置状态,且当前旋转角度大于或等于0度且小于110度,则保持摄像头的旋转状态为后置状态;若摄像头的当前旋转状态为后置状态,且当前旋转角度大于或等于110度且小于或等于206度,则将摄像头的旋转状态切换为前置状态;若摄像头的当前旋转状态为前置状态,且当前旋转角度大于80度且小于或等于206度,则保持摄像头的旋转状态为前置状态;若摄像头的当前旋转状态为前置状态,且当前旋转角度大于或等于0度且小于或等于80度,则将摄像头的旋转状态切换为后置状态。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本发明实施例通过接近传感器判断可旋转式摄像头部件与机身本体的相对位置,在接近传感器检测到的距离达到最小值时,确定可旋转式摄像头部件当前处于第一预设角度,根据第一预设角度及其对应的第一输出值对第一切换值以及第二切换值进行校准,再根据第一切换值以及第二切换值确定摄像头的前后置状态,由此使移动终端对于摄像头的前后置判断不受电磁环境的影响,提高了判断摄像头的旋转状态的准确性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。