一种识别红外触摸屏上多个触摸点的方法

文档序号:6609949阅读:127来源:国知局
专利名称:一种识别红外触摸屏上多个触摸点的方法
技术领域
本发明涉及一种用于红外触摸屏检测触摸点的方法,属于微处理器控制技术领域,尤其是用于计算机触摸屏的触摸点检测技术领域。
背景技术
作为计算机触摸屏的一个分支,红外触摸屏以其安装方便、免维护、高抗爆性、高可靠性等优点而逐渐被广泛应用在各个领域。虽然经过了20多年的发展,有众多的技术改进,如号码为95105303.5、00121462.4等的中国专利或申请所公布的内容。但目前红外触摸屏的基本技术方案,依然局限于美国专利3,764,813、3,775,560、3,860,754等专利所公开的技术内容。但是这些技术内容,都远没有发挥出红外触摸屏所能达到的技术水平,所有的触摸检测都只能检测到单个触摸点。随着计算机软硬件技术的进步,计算机已经拥有了越来越强大的功能,也越来越应用于几乎我们能想象得到的任何领域,那么针对不同的应用领域,有时候多点触摸技术更能方便使用者操作计算机,或者针对特定的软件,多点触摸技术更有效率。但这就要求触摸屏支持多点触摸,能够检测到超过一个的触摸点。目前的红外触摸屏还不能实现针对多个触摸点的检测,在其他类型的触摸屏里,也只有申请号为02822048.X、200580011740.4的中国专利和申请号为US20050257924的美国专利申请等几种技术方案。但这些技术方案都不能应用于红外触摸屏。

发明内容
本发明的目的,就是针对现有红外触摸屏的不足之处,公开了一种在红外触摸屏上实现多点触摸检测的方法。本发明的方法,应用在由沿着触摸区域四周排列的红外发射和接收对管阵列、接通所述红外发射管和接收管的附属电路以及控制所述电路并存储、计算、传输检测到的数据的微控制器系统所构成的红外触摸屏之中,包含有如下步骤A.启动红外触摸屏,按照设定的顺序驱动第i只红外发射管(i=1,2,……N),在驱动第i只发射管发射红外线的时候,接通序号或地址为i-m、i-m+1、……、i-2、i-1、i、i+1、i+2、……、i+m-1、i+m只红外接收管中序号或地址真实存在的接收管,接收所述第i只红外发射管所发射的红外线,这里N是发射管的总数,m为设定的自然数,一般取5≥m≥2;B.检测步骤A的发射和接收过程中是否有红外线被阻断;如果没有红外线被阻断,则返回步骤A,直到i=N之后再开始下一次全区域扫描;如果有红外线被阻断,则继续步骤C;C.纪录纵向和横向红外线被阻断发射管和接收管的序号,并根据这些序号得到若干条由所述发射管和接收管所决定的直线;D.利用步骤C得到的若干条直线,计算得到各个触摸点的坐标,并通过触摸屏的接口,传输到安装所述红外触摸屏的计算机系统;E.返回步骤A,开始新的扫描。
进一步,在上述方法中,还包含有一些更具体的实施步骤,如下步骤C中所述的直线,是在检测得到光线被阻挡之后马上得到的,然后再检测下一组发射和接收管之间的光线是否被阻挡。或者,步骤C中所述的直线,是在当扫描完纵向或者横向中的一个方向、得到并纪录了该方向上光线被隔断的红外发射接收对管的序号以后,又开始扫描另外一个方向并得到了该方向上光线被隔断的红外发射接收对管的序号之后被建立而得到,然后再继续驱动其余的红外发射和接收管,扫描检测其余部分。
在上述情况下,步骤D所述计算坐标值计算,是在当扫描完纵向或者横向中的一个方向、得到并纪录了该方向上光线被隔断的红外发射接收对管的序号以后,又开始扫描另外一个方向并得到了该方向上光线被隔断的红外发射接收对管的序号而后,根据步骤C得到的各条直线马上开始了该计算步骤,待计算完成后再继续驱动其余的红外发射和接收管,扫描检测其余部分。
实施步骤C,还有一种方案,即步骤C中所述的直线,是在完成整个屏幕的扫描后,才根据纪录的红外线被阻断发射管和接收管的序号得到的。
在上述所有情况下,步骤D所述计算坐标值计算,是在完成整个屏幕的扫描后,再根据步骤C得到的各条直线,开始该计算步骤。
通过上面对于发明内容的描述,可以看到本发明的优点,在于在不改变现有红外触摸屏任何结构的条件下,仅仅通过改变控制触摸屏工作的微控制器内的执行代码,就可以实现检测多个触摸点的目的。因此,本发明具有应用成本极低、适用性非常广阔的优点。尤其对于一些特殊的应用,能够非常容易地实现对多个触摸点的检测。


图1多个触摸点检测的一般原理示意图;图2多个触摸点检测的主程序流程图。
具体实施方案图1实质上给出现在一般结构的红外触摸屏的基本安装结构,也是本发明的方法所适用的红外触摸屏的基本安装结构。如图所示,所述触摸屏由安装在触摸检测区域(一般是如计算机显示器、投影机屏幕的显示区域)101周围的红外发射管阵列102、红外接收管阵列103构成的矩形触摸屏。其中的红外发射和接收管,既可以与现有结构的红外触摸屏一样,数量相同,一一对应而构成红外发射和接收对管;也可以将发射管和接收管的数量设置为不同。但从分辨率均匀的目的出发,采用等数量的对管结构最好。下面就是以所述“对管”结构为基础来说明本发明方法的实施内容。
本发明所使用扫描方法的核心是“离轴”扫描。使用本方法扫描检测触摸屏的横向和纵向时,触摸物在纵横两个方向上不仅阻断至少两对发射和接收对管间红外线,而且还会有非对管之间“离轴”的红外线被阻断。所为离轴扫描,就是由一对红外发射接收对管中的发射管来发射红外线,而由另外一对发射接收对管中的接收管来接收。因为这两对管子的光轴线不是同一条光轴线,故在本发明中称为离轴。
为更清晰地说明本发明的实施方法,首先假设发射和接收管的最大序号为N(在此只用按照由小到大排列序号来说明发射或接收管的扫描顺序,发射及接收管地址,也可以转化为序号;而且从红外触摸屏的结构可知,其他的排列规则也可以转化为由小到大的序号)。使用本发明方法的红外触摸屏的工作过程如下微控制器控制红外发射管被按照序号的顺序被一一选通发射红外线。当每选通一只序号为i的发射管之后,在该发射管对边的红外接收管,以与所述被选通发射管相配对的接收管为中心,微控制器依次连续选通与所述接收管相邻的数只序号实际存在的同轴和离轴接收管,来接收所述发射管发射的红外线。假设除了与所述发射管相配对的接收管以外,所述被依次选通的接收管的数量是2m,则被微控制器依次选通的接收管的序号j分别为j=i-m、i-m+1、……、i-2、i-1、i、i+1、i+2、……、i+m-1、i+m。这里m为设定的自然数,可根据触摸屏的大小和要求的响应时间的长短来取值m值大,精度高,扫描周期长,响应速度较慢,反之m小,则扫描周期短,响应快。因此一般取m=2~5,即5≥m≥2。当与发射管i配对的接收官位于触摸区域的边缘时,可能上述序号中某些序号是不存在的比如当i=1时,已经是最边缘的发射或接收管了,i-m、i-m+1、……、i-2、i-1这些接收管实际上是不存在的;而在i=N时,i+1、i+2、……、i+m-1、i+m则不存在。在扫描过程中间,一个方向的终止管和另一个方向的起始管,也是上述的情况。在整个的扫描检测过程中,所有的红外发射和接收管都按照上述的规则来被选通,直到i=N时,完成对触摸区域的一帧扫描。
下面结合图1的实例来详细说明本发明的扫描检测原理。假设在触摸屏的扫描检测区域内有两个触摸物(图1中实线圆)105和106,分别以字符B、D来表示。当采用现有红外触摸屏所采用的、仅仅检测对管之间的红外线是否被阻断的方法来扫描检测触摸物时,则至少两对对管(视触摸物尺寸的大小,如果更大可能会有更多对管,在此为说明原理假设为两对)之间的红外光线104将被阻断,如图中虚线109所示。假设在横向,光线被阻断的两对管子的序号为a和b;在纵向,光线被阻断两对管子的序号为c和d。这样就相当于在以发射和接收对管的序号、或者发射接收对管在微控制器中的扫描地址为坐标度量单位的内部坐标系XOY中,将会在横向出现a和b两个触摸物的坐标值,在纵向将会出现c和d两个触摸物的坐标值。将这四个坐标值组合,就可以得到A(a,c)、B(a,d)、C(b,c)和D(b,d)四个触摸物可能位置,即四个可能的触摸点中包含有A和C两个伪触摸点107、108。但触摸屏内部的微控制器不能判定哪个是伪触摸点,哪个是实际存在的触摸点。
而采用本发明的方法时,以图1中的触摸点D为例,除了序号为i=b的发射接收对管之间的光线被阻断以外,还有序号为i-1→i+1、i+1→i-1之间的红外线被阻断。而对于伪触摸点C,i→i-1、i→i+1之间的光线没有被阻断。这样,就可以得到D点在X方向上的实际坐标值和在Y方向的大致坐标值,也就同时初步判断触摸点C是伪触摸点。再检测纵向上以序号a为中心发射接收管之间的光线被阻断情况,即可得到D在Y方向上的坐标值,同时判断出A点是伪触摸点。对于触摸点B,使用同样的方法,可以得到其在X和Y方向上的坐标值,并且完全判断出A和C是伪触摸点。
事实上,这种检测方法的几何学基础是对于直线方程的交点的求解。因为在整个触摸屏上,所有发射和接收管的位置在坐标系XOY中都是已知且固定的,所以任何一只发射管与任何一支接收管之间的直线(红外线)的方程都是已知,那么这些直线之间的全部交点的坐标值就都是已知的,且根据几何学原理可知,平面上不平行的直线之间有且之有一个交点。如果这些直线中某两条或者多条直线一起被切断(红外线被阻断),那么阻断点一定就是这两条或多条直线的交点。如果触摸屏只有一个方向(例如图中所示的横向)的扫描检测,那么上述的方法就已经可以检测出触摸点在X方向的精确位置和在Y方向的大致位置;但是触摸屏还有另外一个方向(图中所示为纵向)的扫描检测,如上所述可以得到触摸点在Y方向的大致位置。这样,红外触摸屏就可以精确地得到每个触摸点的位置,而不只限于一个触摸点。
图2给出了整个检测的程序流程图,对应上面的主要步骤。步骤201是检测的启动步骤,进入检测程序,然后进入扫描的步骤202,按顺序选定序号为i的红外发射管。然后进入步骤203,根据序号i和设定的m,来依次选通序号为j的接收管来接收发射管发出的红外线,完成针对发射管i的一个接收小循环,并通过判断步骤204判断是否有光线被阻断。如果有红外线被阻断,则记录i、j的数值。如果没有红外线被阻挡,则返回控制步骤202,继续选择下一个发射管i,重新开始下一轮的扫描检测。如此循环完成一帧检测。如果判断有光线被阻断,则执行记录步骤205,记录被阻当的发射管的序号和接收管的序号,即i、j的值。
程序执行到这里,就可以根据微控制器的运算速度、触摸屏的扫描周期等因素,来设定下面的步骤,有两种方式可供选择。
第一种是集中处理的方式,也就是在两帧扫描之间,根据存储器中记录的各个j、j的数值,按照前面所述的方式构建直线方程,求解坐标值。在图2中,这种方式的执行路径是在步骤205之后,进入判断步骤208,判断是否得到了两个方向至少一个点的一组i、j值?如果没有,则返回步骤202继续扫描检测;如果得到了,则通过步骤209,进一步判断是否完成了一帧扫描。如果判定的结果是已完成了一帧扫描,则进入计算步骤210,利用前面所述的方法,求解得到真实的触摸点的坐标值,然后返回步骤202,开始下一帧的扫描检测。计算得到的触摸点的坐标值,则在设定的时间内,通过数据传输步骤211,将坐标值通过输出端口,传输到使用该触摸屏的计算机系统。使用这种方式,优点是对微控制器的运算能力要求不高,处理过程清晰集中,编写也比较简单;缺点是实时响应能力稍差;在快速操作时容易出现反应迟钝的现象。
第二种是分散的处理方式,即在扫描过程中处理完部分或者全部数据。如图2中所示步骤205之后的另一个分支。在记录完一组i、j的数值之后,例如在触摸屏的横向方向上得到了所述的i、j值,通过步骤206建立通过光线被阻当的发射和接收管的直线方程,如前所述利用直线相交的交点是已知的这个条件,得到触摸点在X方向的精确位置和在Y方向的大致位置,然后通过判断步骤207,判断是否在另外的方向(纵向)上已经得到了另外的一组i、j值。如果在另外的方向上没有得到所述的i、j值,则说明另外一个方向还没有扫描过,应该返回到步骤202继续扫描检测;如果得到了另外方向的i、j值,则直接进入步骤210,利用前面所述的方法,求解得到真实的触摸点的坐标值,然后返回到步骤202继续扫描检测的循环。使用这种方式,优点是实时响应能力很好,尤其对快速操作的反应灵敏,具有更好的使用效果,缺点是对微控制器的运算能力要求较高,程序的编写也复杂一些。
虽然上面给出了针对触摸点的检测和计算的两种不同的程序流程,但也可以两种方式混合使用,例如,在第二种方式中,先根据i、j找到对应的光线被阻断的直线,然后等到完成一帧扫描之后,在详细计算触摸点的坐标。根据上面通过附图对具体实施方案的说明,可知步骤的组合方式有很多种。
因为红外触摸屏的工作原理已经是公开技术,上述的检测、判断、计算等技术内容都是程序设计和数学计算的内容,故在此无需再详细说明。
上面实施例所给出的是图1所示的触摸屏上存在有两个触摸点的情况。但是多于两个触摸点的情况,依然可以使用实施例中的同样的方法来检测处理,包括某些触摸点之间的连线可能与横向或者纵向的红外线相平行的情况(这种情况处理起来更简单),因此无需再举例来说明。
前面着重说明了实现本发明目的基本技术方案。但是作为完整的应用技术方案,上述明确说明的实施结构不是唯一的。比如上述两种方式中不同步骤的组合;再比如,还可以将发射和接收管的选择方式对调——在选通一只序号为i的接收管后,再选通序号i附近的若干只发射管,来实现扫描检测——这种顺序来实现,减少了瞬态过程,将能保证接收的光电信号更稳定。因此在本发明所给出的基本技术方案的基础上的进行的改进、移植、变通、删减、增补等方式的设计,都属于本发明的技术范围之内。
权利要求
1.一种识别红外触摸屏上多个触摸点的方法,该方法应用在由沿着触摸区域四周排列的红外发射和接收对管阵列、接通所述红外发射管和接收管的附属电路以及控制所述电路并存储、计算、传输检测到的数据的微控制器系统所构成的红外触摸屏之中,包含有如下步骤A.启动红外触摸屏,按照设定的顺序驱动第i只红外发射管(i=1,2,……N),在驱动第i只发射管发射红外线的时候,接通序号或地址为i-m、i-m+1、……、i-2、i-1、i、i+1、i+2、……、i+m-1、i+m只红外接收管中序号或地址真实存在的接收管,接收所述第i只红外发射管所发射的红外线,这里m为设定的自然数;B.检测步骤A的发射和接收过程中是否有红外线被阻断;如果没有红外线被阻断,则返回步骤A,直到i=N之后再开始下一次全区域扫描;如果有红外线被阻断,则继续步骤C;C.纪录纵向和横向红外线被阻断发射管和接收管的序号,并根据这些序号得到若干条由所述发射管和接收管所决定的直线;D.利用步骤C得到的若干条直线,计算得到各个触摸点的坐标,并通过触摸屏的接口,传输到安装所述红外触摸屏的计算机系统;E.返回步骤A,开始新的扫描。
2.根据权利要求1所述的方法,其特征在于步骤C中所述的直线,是在检测得到光线被阻挡之后马上被建立而得到,然后再检测下一组发射和接收管之间的光线是否被阻挡。
3.根据权利要求1所述的方法,其特征在于步骤C中所述的直线,是在当扫描完纵向或者横向中的一个方向、得到并纪录了该方向上光线被隔断的红外发射接收对管的序号以后,又开始扫描另外一个方向并得到了该方向上光线被隔断的红外发射接收对管的序号之后被建立而得到,然后再继续驱动其余的红外发射和接收管,扫描检测其余部分。
4.根据权利要求1所述的方法,其特征在于步骤C中所述的直线,是在完成整个屏幕的扫描后,才根据纪录的红外线被阻断发射管和接收管的序号而得到的。
5.根据权利要求1、2或3所述的方法,其特征在于步骤D所述计算坐标值计算,是在当扫描完纵向或者横向中的一个方向、得到并纪录了该方向上光线被隔断的红外发射接收对管的序号以后,又开始扫描另外一个方向并得到了该方向上光线被隔断的红外发射接收对管的序号而后,根据步骤C得到的各条直线马上开始了该计算步骤,在计算完成后再继续驱动其余的红外发射和接收管,扫描检测其余部分。
6.根据权利要求1、2、3或4所述的方法,其特征在于步骤D所述计算坐标值计算,是在完成整个屏幕的扫描后,再根据步骤C得到的各条直线,开始该计算步骤。
7.根据权利要求1所述的方法,其特征在于步骤A中所述的自然数m的取值范围为5≥m≥2。
全文摘要
一种识别红外触摸屏上多个触摸点的方法,该方法应用在由沿着触摸区域四周安装排列有红外发射和接收对管阵列的红外触摸屏之中。该方法利用同轴和离轴的发射和接收管之间的被触摸物隔断的光线,在一个扫描方向上触摸点的坐标值,在另一个方向上确定触摸点的大致坐标值并初步剔除伪触摸点;然后再在另一个方向上使用相同的方法,最终得到所有触摸点的精确坐标值,同时全部剔除了伪触摸点。本发明不改变现有红外触摸屏任何结构,仅仅通过改变微控制器内的执行代码,就可以实现检测多个触摸点的目的,因此具有应用成本极低、适用性非常广阔的优点。
文档编号G06F3/042GK101075168SQ20071011775
公开日2007年11月21日 申请日期2007年6月22日 优先权日2007年6月22日
发明者刘建军, 叶新林, 刘新斌 申请人:北京汇冠新技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1