一种防止摄像头空转的方法及终端的制作方法_3

文档序号:8383984阅读:来源:国知局
感器,摄像头旋转时摄像头的角度在变化,摄像头上磁铁和数字霍尔传感器的距离也随之变化,而此时数字霍尔传感器的霍尔值也随着数字霍尔传感器与磁铁之间的距离变化而变化,因此可以根据霍尔值来判断摄像头的旋转角度。
[0059]摄像头在旋转过程中,霍尔值获取单元302以一个固定的时间间隔定时读取终端上的数字霍尔传感器获取霍尔值,然后计算当前获取到的霍尔值与前一次获取到的霍尔值之间的差值。目前,常见的旋转摄像头最大的旋转角度通常为210度左右,若摄像头后置时,摄像头的角度为O度,前置时摄像头的角度为180度,通常摄像头从O度向210方向旋转时,当摄像头旋的角度接近180度时霍尔值的变化较快,而摄像头从210度向O度旋转时,当摄像头旋转超过180度向O度靠近时霍尔值变换较缓慢,因此从O度向210方向旋转时固定的时间间隔可以选择较短一些,而从210度向O度方向旋转时,固定的时间间隔可以选择较长一些。
[0060]状态判断单元303,用于判断连续出现当前获取到的霍尔值与前一次获取到的霍尔值之间的差值不大于第一预设值的次数是否达到预设的持续次数。
[0061]在实际使用过程中,在摄像头快要达到最大转动角度时,其相对应的当前获取的霍尔值与所述前次获取的霍尔值之间的差值会出现持续不大于某个数值的趋势,因此我们可以利用该特性来判断摄像头是否快要达到最大转动角度。若状态判断单元303判断到当前获取到的霍尔值与前一次获取到的霍尔值之间的差值大于第一预设值,转而通过霍尔值获取单元302以固定时间间隔通过终端上的数字霍尔传感器获取霍尔值,并计算当前获取到的霍尔值与前一次获取到的霍尔值之间的差值。
[0062]进一步可选的,参见图4,本发明实施例提供的一种状态判断单元的结构示意图,如图所示的状态判断单元303可具体包括:差值判断子单元3301、状态值计数子单元3302和状态值判断子单元3303。
[0063]差值判断子单元3301,用于判断所述当前获取的霍尔值与所述前次获取的霍尔值之间的差值是否不大于所述第一预设值;
[0064]状态值计数子单元3302,用于所述差值子单元3301判断到所述当前获取的霍尔值与所述前次获取的霍尔值之间的差值不大于所述第一预设值时,以固定步长将状态计数值递增一次;
[0065]状态值判断子单元3303,用于判断所述状态计数值是否达到第三预设值,若判断结果为是,所述摄像头控制单元301还用于停止所述摄像头的转动。
[0066]具体实现中,可预先设置一个状态计数值,该状态计数值用来记录连续出现当前获取的霍尔值与前次获取的霍尔值之间的差值不大于第一预设值的次数,该连续次数的计算方式为:当前状态计数值减去状态计数值初始值以后除以固定步长的值。霍尔值获取单元302在第二次获取到霍尔值,便开始计算当前获取的霍尔值与前次获取的霍尔值之间的差值,若差值判断子单元3301判断到该差值不大于第一预设值,进而通过状态值计数子单元3302将该状态计数值以固定步长递增一次,并通过状态值判断子单元3303判断该状态值是否达到第三预设值;若差值判断子单元3301判断到该差值大于第一预设值,则通过状态值计数子单元3302将该状态计数值恢复初始值,并转而通过霍尔值获取单元302以固定时间间隔通过终端上的数字霍尔传感器获取霍尔值,并计算当前获取到的霍尔值与前一次获取到的霍尔值之间的差值。
[0067]所述摄像头控制单元301,还用于所述状态判断单元303判断到连续出现当前获取到的霍尔值与前一次获取到的霍尔值之间的差值不大于第一预设值的次数达到预设的持续次数时,停止所述摄像头的转动。
[0068]在另一可选实施例中,所述状态判断单元303,还用于判断所述摄像头向单一方向匀速转动的过程中是否发生空转;
[0069]所述摄像头控制单元301,还用于所述状态判断单元303判断到所述摄像头向单一方向匀速转动的过程中发生空转时,停止所述摄像头的转动;
[0070]相应的,所述终端还包括:持续次数设置单元304,用于所述状态判断单元303判断到所述摄像头向单一方向匀速转动的过程中发生空转时,以指定的数值减小所述预设的持续次数。
[0071]具体实现中,终端摄像头的旋转功能在不断使用的过程中,其内部元件(如电动马达)在不断老化,再加上终端的个体差异,因此可能会造成虽然摄像头的转动角度并未达到理论上的最大角度,但摄像头已经转不动了,就会出现空转现象。为了防止空转进一步的造成马达的机械损耗,此时,可在状态判断单元303判断摄像头发生空转时,通过摄像头控制单元301停止摄像头的转动,并通过持续次数设置单元304减小该预设的持续次数,使得下次启动摄像头转动时,能在发生空转前停止摄像头转动。
[0072]进一步可选的,参见图5,本发明实施例提供的另一种状态判断单元的结构示意图,如图所示的状态判断单元303可具体包括:堵转声音采集子单元3311、堵转次数判断子单元3312和空转状态确定子单元3313。
[0073]堵转声音采集子单元3311,用于采集所述摄像头向单一方向匀速转动的过程中发生的堵转声音;
[0074]堵转次数判断子单元3312,用于判断所述摄像头向单一方向匀速转动的过程中所述堵转声音连续出现的次数是否达到第二预设值;
[0075]空转状态确定子单元3313,用于所述堵转次数判断子单元3312判断到所述摄像头向单一方向匀速转动的过程中所述堵转声音连续出现的次数达到第二预设值时,确定所述摄像头发生空转。
[0076]具体实现中,可在终?而出厂时米集摄像头内电动马达堵转时发出的声音,并存储,堵转声音采集子单元3311可具体为麦克风,在用户启动摄像头转动时同时开启堵转声音采集子单元3311,采集摄像头转动发出的声音。然后,启动堵转次数判断子单元3312 (可具体为声音识别模块,如声纹识别模块)判断采集到的声音是否为电动马达堵转时发出的声音,并在该堵转声音连续出现的次数达到第二预设值时,空转状态确定子单元3313可认为摄像头发生空转。
[0077]在又一可选实施例中,所述终端还包括:转动方向判断单元305,用于所述霍尔值获取单元302计算当前获取到的霍尔值与前一次获取到的霍尔值之间的差值之前,判断所述摄像头的转动方向。
[0078]相应的,所述终端还包括:计算方式确定单元306,用于根据所述摄像头的转动方向确定所述计算当前获取到的霍尔值与前一次获取到的霍尔值之间的差值的计算方式。
[0079]具体实现中,摄像头在旋转过程中在某些位置会出现与终端本体上的数字霍尔距离相同的情况,因此本实施例所述的方法,在计算当前获取到的霍尔值与前次获取到的霍尔值之间的差值时,不宜采用差值绝对值的计算方式;而应提前确定计算方式,该计算方式包括所述当前获取到的霍尔值减去所述前次获取到的霍尔值或所述前次获取到的霍尔值减去所述当前获取到的霍尔值。
[0080]在又一可选实施例中,所述摄像头控制单元301具体用于:启动所述摄像头内的电动马达,通过所述电动马达控制所述摄像头向单一方向匀速转动。
[0081]本发明实施例,可接收摄像头转动指令,启动所述摄像头向单一方向勾速转动,以固定时间间隔通过终端上的数字霍尔传感器获取霍尔值,并计算当前获取到的霍尔值与前一次获取到的霍尔值之间的差值,进而在连续出现当
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1