一种实现角度检测的方法及设备与流程

文档序号:13801608阅读:205来源:国知局
一种实现角度检测的方法及设备与流程

本申请涉及对电子技术领域,尤其涉及一种实现角度检测的方法及设备



背景技术:

随着电子技术不断发展和成熟,在日益普及的通信设备中,特别是智能终端(例如平板电脑、智能手机)中软件功能应用越来越丰富,用户的个性化需求越来越多。这些智能终端搭载的一个触摸屏已经不能满足用户操作的需求,对于双触摸屏的需求已越来越普遍。

当我们使用带有两个触摸屏的智能终端时,针对主副触摸屏的开合角度可以提供一些策略满足用户在不同场景下的需求,提高用户体验。但是目前没有一种能够精准检测主副触摸屏的开合角度的方案来支持上述功能。

申请内容

本申请的一个目的是提供一种实现角度检测的方法及设备,用以解决现有技术中无法精准检测主副触摸屏的开合角度的问题。

为实现上述目的,本申请提供了一种实现角度检测的方法,该方法应用于包含第一组件和第二组件的设备,所述第一组件和第二组件连接,并可相对转动,所述第一组件上设置有第一加速度传感器,所述第二组件上设置有第二加速度传感器,所述方法包括:

获取第一加速度传感器在所述第一组件静止时输出第一检测值,以及所述第二加速度传感器在所述第二组件静止时输出第二检测值;

根据所述第一检测值和所述第二检测值获取所述第一组件和第二组件之间的夹角值。

进一步地,所述第一加速度传感器和第二加速度传感器均为三轴加速度传感器,所述第一检测值和所述第二检测值均为包含三轴坐标值的检测值。

进一步地,根据所述第一检测值和所述第二检测值获取所述第一组件和第二组件之间的夹角值,包括:

根据所述第一检测值计算所述第一组件与重力加速度的第一偏移值;

根据所述第二检测值计算所述第二组件与重力加速度的第二偏移值;

根据所述第一偏移值和第二偏移值获取所述第一组件和第二组件之间的夹角值。

进一步地,所述第一加速度传感器和第二加速度传感器的一个预设检测轴,与所述第一组件和第二组件之间进行相对转动的旋转轴平行;

根据所述第一检测值和所述第二检测值获取所述第一组件和第二组件之间的夹角值,包括:

确定标定点,所述标定点与所述第一加速度传感器、第二加速度传感器构建的平面与所述旋转轴和预设检测轴垂直;

建立三维坐标系,在所述三维坐标系中确定所述第一加速度传感器、第二加速度传感器和标定点的坐标值,其中,所述第一加速度传感器的坐标值为第一检测值,所述第二加速度传感器的坐标值为第二检测值;

根据所述第一加速度传感器、第二加速度传感器和标定点的坐标值,确定所述第一组件和第二组件之间的夹角值,其中,所述标定点为夹角顶点。

进一步地,根据所述第一加速度传感器、第二加速度传感器和标定点的坐标,确定所述第一组件和第二组件之间的夹角值,包括:

简化所述第一加速度传感器、第二加速度传感器和标定点的坐标值,消除其平行轴方向上的坐标值,变换为二维坐标值;

根据所述第一加速度传感器、第二加速度传感器和标定点的二维坐标值,确定所述第一组件和第二组件之间的夹角值,其中,所述标定点为夹角顶点。

基于本申请的另一方面,还提供了一种实现角度检测的设备,该设备包括:

第一组件;

第二组件,与所述第一组件连接,且可相对于所述第一组件转动;

第一加速度传感器,设置于所述第一组件上,用于在所述第一组件静止时输出第一检测值;

第二加速度传感器,设置与所述第二组件上,用于在所述第二组件静止时输出第二检测值;

处理模块,用于获取所述第一检测值和所述第二检测值,并根据所述第一检测值和所述第二检测值计算所述第一组件和第二组件之间的夹角值。

进一步地,所述第一加速度传感器和第二加速度传感器均为三轴加速度传感器,所述第一检测值和所述第二检测值均为包含三轴坐标值的检测值。

进一步地,所述处理模块,用于根据所述第一检测值计算所述第一组件与重力加速度的第一偏移值;根据所述第二检测值计算所述第二组件与重力加速度的第二偏移值;根据所述第一偏移值和第二偏移值获取所述第一组件和第二组件之间的夹角值。

进一步地,所述第一加速度传感器和第二加速度传感器的一个预设检测轴,与所述第一组件和第二组件之间进行相对转动的旋转轴平行;

所述处理模块,用于确定标定点,所述标定点与所述第一加速度传感器、第二加速度传感器构建的平面与所述旋转轴和预设检测轴垂直;建立三维坐标系,在所述三维坐标系中确定所述第一加速度传感器、第二加速度传感器和标定点的坐标值,其中,所述第一加速度传感器的坐标值为第一检测值,所述第二加速度传感器的坐标值为第二检测值;以及根据所述第一加速度传感器、第二加速度传感器和标定点的坐标值,确定所述第一组件和第二组件之间的夹角值,其中,所述标定点为夹角顶点。

进一步地,所述处理模块,用于简化所述第一加速度传感器、第二加速度传感器和标定点的坐标值,消除其平行轴方向上的坐标值,变换为二维坐标值;根据所述第一加速度传感器、第二加速度传感器和标定点的二维坐标值,确定所述第一组件和第二组件之间的夹角值,其中,所述标定点为夹角顶点。

与现有技术相比,本申请提供了一种实现角度检测的方案,该方案基于双加速度传感器,用于检测设备中第一组件和第二组件的夹角值,设备的第一组件和第二组件连接,并可相对转动,所述第一组件上设置有第一加速度传感器,所述第二组件上设置有第二加速度传感器,在实现角度检测时,首先获取第一加速度传感器在所述第一组件静止时输出第一检测值,以及所述第二加速度传感器在所述第二组件静止时输出第二检测值,然后根据所述第一检测值和所述第二检测值即可准确地计算出所述第一组件和第二组件之间的夹角值。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本申请实施例提供的一种实现角度检测的方法的处理流程图

图2为本申请实施例中一种可实现角度检测的设备的结构示意图;

图3为本申请实施例中计算夹角值的具体处理流程图;

图4为本申请实施例提供的一种实现角度检测的平板电脑的结构示意图;

图5为本申请实施例提供的平板电脑在实现角度检测时的处理流程图;

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

本申请实施例提供了一种实现角度检测的方法,该方法应用于包含第一组件11和第二组件12的设备,如图2所示,所述第一组件11和第二组件12连接,并可相对转动。例如,所述第一组件可以是一显示屏,而所述第二组件可以是另一显示屏,分别作为设备的主屏和副屏,此时设备即为双屏设备,例如双屏平板电脑、双屏笔记本、双屏手机等,在实际场景中,第二组件也可以是支架、键盘、触摸板等扩展部件,第一组件和第二组件之间可以通过诸如转轴等连接组件3相连,以便于两者之间实现相对转动。该设备的第一组件上设置有第一加速度传感器21,第二组件上设置有第二加速度传感器22,在实现角度检测时,处理步骤如图1所示,包括:

步骤s101,获取第一加速度传感器在所述第一组件静止时输出第一检测值,以及第二加速度传感器在所述第二组件静止时输出第二检测值;

步骤s102,根据所述第一检测值和所述第二检测值获取所述第一组件和第二组件之间的夹角值。

在本申请实施例中第一加速度传感器和第二加速度传感器均为三轴加速度传感器,由此其输出的第一检测值和所述第二检测值均为包含三轴坐标值的检测值,即包含x轴、y轴和z轴坐标值的检测值。例如,在某一时刻其中一个加速度传感器的检测值为(x1,y1,z1),由于用于进行夹角值计算的是在所述第一组件静止时输出第一检测值,由此,加速度传感器的三个轴上矢量和应当等于重力加速度g。

由此,根据所述第一检测值可以计算出所述第一组件与重力加速度的第一偏移值,相应地,根据所述第二检测值计算所述第二组件与重力加速度的第二偏移值。在实际场景中,可以设定加速度传感器的一个方向作为标准方向,由于加速度传感器固定安装于(第一或第二)组件上,组件的方向与加速度传感器的标准方向是一个可以预先获取的恒定值。由此,组件的方向可以基于安装于其上的检测值确定,而重力加速度的方向可以视为一常量,此时可以根据加速度传感器计算出相应组件与重力加速度的偏移值。该偏移值可以通过一矢量来进行标定,例如可以是重力加速度的单位矢量与加速度传感器固定方向上的单位矢量之间的矢量差。在确定两个偏移值之后,根据所述第一偏移值和第二偏移值获取所述第一组件和第二组件之间的夹角值。

本申请实施例还提供了另一种根据所述第一检测值和所述第二检测值获取所述第一组件和第二组件之间的夹角值的方式,使得处理过程更加简单、准确。在此种方式中,在安装加速度传感器传感器时,需要使得第一加速度传感器和第二加速度传感器的一个预设检测轴,与所述第一组件和第二组件之间进行相对转动的旋转轴平行。例如,在安装加速度传感器时,使得加速度传感器的y轴与第一组件和第二组件之间进行相对转动的旋转轴平行,如图2所示,第一加速度传感器的预设检测轴ya,第二加速度传感器的预设检测轴yb,以及第一组件和第二组件之间进行相对转动的旋转轴yc相互平行,三者均为平行轴。

基于上述的设定,本实施例在根据所述第一检测值和所述第二检测值获取所述第一组件和第二组件之间的夹角值时,可以包括如下图3所示的处理:

步骤s301,确定标定点,所述标定点与所述第一加速度传感器、第二加速度传感器构建的平面与所述旋转轴和预设检测轴垂直。以图2所示的场景为例,构建一个包含第一加速度传感器、第二加速度传感器所在点a和b的平面,且该平面垂直于上述ya、yb和yc、由此该平面会与旋转轴yc存在一个交点c,该交点c即为所述的标定点。

步骤s302,建立三维坐标系,在所述三维坐标系中确定所述第一加速度传感器、第二加速度传感器和标定点的坐标值,其中,所述第一加速度传感器的坐标值为第一检测值,所述第二加速度传感器的坐标值为第二检测值。例如,第一加速度传感器的坐标值为(x1,y1,z1),第二加速度传感器的坐标值为(x2,y2,z2),若在设定y轴为平行轴,则y1=y2,而标定点的坐标可以确定为(0,y1,0)。

步骤s303,根据所述第一加速度传感器、第二加速度传感器和标定点的坐标值,确定所述第一组件和第二组件之间的夹角值。由于第一组件和第二组件之间的夹角相当于图2中的∠acb,即标定点c为夹角顶点时的角度值。作为一种优选的实施方式,为了便于计算,使得处理过程更加快捷,在获取到所述第一加速度传感器、第二加速度传感器和标定点的坐标值时,可以先简化所述第一加速度传感器、第二加速度传感器和标定点的坐标值。以前述坐标值为例,a(x1,y1,z1)、b(x2,y2,z2)和c(0,y1,0),由于y1=y2,则首先可以变换为a(x1,0,z1)、b(x2,0,z2)和c(0,0,0),然后进一步优化为a(x1,z1)、b(x2,z2)和c(0,0),消除其平行轴方向上的坐标值,变换为二维坐标值。

在已知平面上的三个点的坐标之后,可以根据所述第一加速度传感器、第二加速度传感器和标定点的二维坐标值,确定所述第一组件和第二组件之间的夹角值。例如实际场景中可以利用余弦定理,进行如下计算:

由此,确定第一组件和第二组件之间的夹角值θ。

在实际场景中,第一组件和第二组件之间的夹角值能够表示设备的不同使用形态或者使用需求,例如,当第一组件和第二组件分别为设备的主屏和副屏时,检测到开合的夹角值小于10°的时候,用户往往不需要查看屏幕中的内容,而当开合的夹角值超过90°时,则表示用户可能需要正常使用屏幕或者键盘等。由此,应用层可以根据检测到的不同夹角值实现相应的功能,例如检测到开合的夹角值小于10°的时候,自动关闭显示屏,开合的夹角值超过90°时自动点亮屏幕,当开合角度超过350°的时候实现屏幕上的画面旋转180°等,从而提升用户体验。

基于同一发明构思,本申请实施例中还提供了实现角度检测的设备,所述设备对应的方法是前述实施例中的方法,并且其解决问题的原理与该方法相似。

本申请实施例提供的一种实现角度检测的设备的结构如图2所示,包括第一组件11、第二组件12、第一加速度传感器21、第二加速度传感器22以及处理模块,所述第一组件11和第二组件12连接,并可相对转动。例如,所述第一组件可以是一显示屏,而所述第二组件可以是另一显示屏,分别作为设备的主屏和副屏,此时设备即为双屏设备,例如双屏平板电脑、双屏笔记本、双屏手机等,在实际场景中,第二组件也可以是支架、键盘、触摸板等扩展部件,第一组件和第二组件之间可以通过诸如转轴等连接组件3相连,以便于两者之间实现相对转动,处理模块具体实现可以是指该设备中具有数据处理功能的相关部件及其外围电路,例如处理芯片、cpu、逻辑电路以及相关的存储器等。该设备的第一组件上设置有第一加速度传感器21,第二组件上设置有第二加速度传感器22,在实现角度检测时,处理模块处理步骤如图1所示,包括:

步骤s101,获取第一加速度传感器在所述第一组件静止时输出第一检测值,以及第二加速度传感器在所述第二组件静止时输出第二检测值;

步骤s102,根据所述第一检测值和所述第二检测值获取所述第一组件和第二组件之间的夹角值。

在本申请实施例中第一加速度传感器和第二加速度传感器均为三轴加速度传感器,由此其输出的第一检测值和所述第二检测值均为包含三轴坐标值的检测值,即包含x轴、y轴和z轴坐标值的检测值。例如,在某一时刻其中一个加速度传感器的检测值为(x1,y1,z1),由于用于进行夹角值计算的是在所述第一组件静止时输出第一检测值,由此,加速度传感器的三个轴上矢量和应当等于重力加速度g。

由此,处理模块根据所述第一检测值可以计算出所述第一组件与重力加速度的第一偏移值,相应地,处理模块根据所述第二检测值计算所述第二组件与重力加速度的第二偏移值。在实际场景中,可以设定加速度传感器的一个方向作为标准方向,由于加速度传感器固定安装于(第一或第二)组件上,组件的方向与加速度传感器的标准方向是一个可以预先获取的恒定值。由此,组件的方向可以基于安装于其上的检测值确定,而重力加速度的方向可以视为一常量,此时可以根据加速度传感器计算出相应组件与重力加速度的偏移值。该偏移值可以通过一矢量来进行标定,例如可以是重力加速度的单位矢量与加速度传感器固定方向上的单位矢量之间的矢量差。在确定两个偏移值之后,处理模块根据所述第一偏移值和第二偏移值获取所述第一组件和第二组件之间的夹角值。

本申请实施例还提供了另一种根据所述第一检测值和所述第二检测值获取所述第一组件和第二组件之间的夹角值的方式,使得处理过程更加简单、准确。在此种方式中,在安装加速度传感器传感器时,需要使得第一加速度传感器和第二加速度传感器的一个预设检测轴,与所述第一组件和第二组件之间进行相对转动的旋转轴平行。例如,在安装加速度传感器时,使得加速度传感器的y轴与第一组件和第二组件之间进行相对转动的旋转轴平行,如图2所示,第一加速度传感器的预设检测轴ya,第二加速度传感器的预设检测轴yb,以及第一组件和第二组件之间进行相对转动的旋转轴yc相互平行,三者均为平行轴。

基于上述的设定,本实施例的处理模块在根据所述第一检测值和所述第二检测值获取所述第一组件和第二组件之间的夹角值时,可以包括如下图3所示的处理:

步骤s301,确定标定点,所述标定点与所述第一加速度传感器、第二加速度传感器构建的平面与所述旋转轴和预设检测轴垂直。以图2所示的场景为例,构建一个包含第一加速度传感器、第二加速度传感器所在点a和b的平面,且该平面垂直于上述ya、yb和yc、由此该平面会与旋转轴yc存在一个交点c,该交点c即为所述的标定点。

步骤s302,建立三维坐标系,在所述三维坐标系中确定所述第一加速度传感器、第二加速度传感器和标定点的坐标值,其中,所述第一加速度传感器的坐标值为第一检测值,所述第二加速度传感器的坐标值为第二检测值。例如,第一加速度传感器的坐标值为(x1,y1,z1),第二加速度传感器的坐标值为(x2,y2,z2),若在设定y轴为平行轴,则y1=y2,而标定点的坐标可以确定为(0,y1,0)。

步骤s303,根据所述第一加速度传感器、第二加速度传感器和标定点的坐标值,确定所述第一组件和第二组件之间的夹角值。由于第一组件和第二组件之间的夹角相当于图2中的∠acb,即标定点c为夹角顶点时的角度值。作为一种优选的实施方式,为了便于计算,使得处理过程更加快捷,处理模块在获取到所述第一加速度传感器、第二加速度传感器和标定点的坐标值时,可以先简化所述第一加速度传感器、第二加速度传感器和标定点的坐标值。以前述坐标值为例,a(x1,y1,z1)、b(x2,y2,z2)和c(0,y1,0),由于y1=y2,则首先可以变换为a(x1,0,z1)、b(x2,0,z2)和c(0,0,0),然后进一步优化为a(x1,z1)、b(x2,z2)和c(0,0),消除其平行轴方向上的坐标值,变换为二维坐标值。

在已知平面上的三个点的坐标之后,处理模块可以根据所述第一加速度传感器、第二加速度传感器和标定点的二维坐标值,确定所述第一组件和第二组件之间的夹角值。例如实际场景中可以利用余弦定理,进行如下计算:

由此,确定第一组件和第二组件之间的夹角值θ。

在实际场景中,第一组件和第二组件之间的夹角值能够表示设备的不同使用形态或者使用需求,例如,当第一组件和第二组件分别为设备的主屏和副屏时,检测到开合的夹角值小于10°的时候,用户往往不需要查看屏幕中的内容,而当开合的夹角值超过90°时,则表示用户可能需要正常使用屏幕或者键盘等。由此,应用层可以根据检测到的不同夹角值实现相应的功能,例如检测到开合的夹角值小于10°的时候,自动关闭显示屏,开合的夹角值超过90°时自动点亮屏幕,当开合角度超过350°的时候实现屏幕上的画面旋转180°等,从而提升用户体验。

本申请实施例提供了一种采用上述方案的平板电脑,该平板电脑的结构如4所示,包括平板模块1、主加速度传感器21、副加速度传感器22和角度传感器组成,平板模块中包括基带芯片、存储器、射频模块、lcd、摄像头、主副触摸屏和电源管理等模块。主副加速度传感器分别安装在主副触摸屏,与基带芯片之间通过gpio(generalpurposei/o)接口相连,其中有两个gpio公用作为i2c总线的sda(数据线)和scl(时钟信号线),主副加速度传感器公用一个i2c总线,另外一个gpio作为外部硬件中断引脚,通过i2c命令实现基带芯片对主副加速度传感器的使能和数据读取等操作;角度传感器是一个由基带芯片虚拟的传感器,并没有实际的硬件,角度传感器接收主副加速度传感器的数据,进行夹角值的计算并可以与应用层交互夹角值的实现相应功能。相较于目前常规的平板电脑,除了额外添加一个屏幕和加速度传感器之外,不需要额外的硬件资源,计算资源消耗也很少,不会过多添加系统的负担。

当上述平板电脑开启角度检测功能时,根据如图5所示的步骤进行检测处理:

步骤s500:开始;

步骤s501:初始化主副加速度传感器,配置相应的寄存器;

步骤s502:配置外部硬件中断,并启动中断;

步骤s503:判断定时器中断是否触发,如果中断触发转步骤s504;否则转步骤s503;

步骤s504:读取主副加速度传感器的x、y、z三轴的数据;

步骤s505:判断角度传感器是否创建,如果没有创建转步骤s506,否则跳转到s507;

步骤s506:创建角度传感器,创建成功后跳转到s507;

步骤s507:根据主副加速度传感器的数据,进行夹角值计算;

步骤s508:角度传感器将实时开合角度上报给应用层,应用层实现用户需求;

步骤s509:判断角度检测功能是否关闭,如果关闭转步骤s210,否则转步骤s503;

步骤s510:结束。

综上所述,本申请提供了一种实现角度检测的方案,该方案基于双加速度传感器,用于检测设备中第一组件和第二组件的夹角值,设备的第一组件和第二组件连接,并可相对转动,所述第一组件上设置有第一加速度传感器,所述第二组件上设置有第二加速度传感器,在实现角度检测时,首先获取第一加速度传感器在所述第一组件静止时输出第一检测值,以及所述第二加速度传感器在所述第二组件静止时输出第二检测值,然后根据所述第一检测值和所述第二检测值即可准确地计算出所述第一组件和第二组件之间的夹角值。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1