在进行阐述之前,首先说明什么样的情况下称之为“红外发射管和红外接收管在同一光轴线”以及“红外发射管和红外接收管不在同一光轴线”;参考图5,在X轴方向上,有16对红外发射接收对管,若红外发射管x1发射,红外接收管y1接收,此时称之为“红外发射管x1和红外接收管y1在同一光轴线上”,在此种情况下,对触摸屏的扫描称之为,垂直扫描;若红外发射管x1发射,除红外接收管y1以外的红外接收管接收,此时称之为“红外发射管和红外接收管不在同一光轴线上”,在此种情况下,对触摸屏的扫描,称之为斜扫描;在Y轴方向上同理。
下面介绍《一种红外触摸屏触摸点识别方法和装置》公开的一种红外触摸屏触摸点识别方法,参考图1,包括步骤:
101、获取红外接收管的第一模拟信号;选通的红外发射管和红外接收管在同一光轴线时,在没有触摸点的情况下进行第一次全屏扫描,获取红外接收管的第一模拟信号数据。
102、获取红外接收管的第二模拟信号;以后每个扫描周期对触摸屏进行全屏扫描,获取红外接收管的第二模拟信号数据。
103、获取红外接收管的数字信号数据;选通的红外发射管与红外接收管不在同一光轴线时,进行周期性的全屏幕扫描,获取红外接收管的数字信号数据。
104、判断是否存在触摸点;根据第一模拟信号数据与第二模拟信号数据和预设的数值,判断是否存在触摸点,若第一模拟信号数据与第二模拟信号数据的差值大于等于预设数值,则判断存在触摸点,进行步骤105。
105、确定理论触摸点;根据第一模拟信号数据和第二模拟信号数据确定理论触摸点。
106、判断是否有红外光被遮挡;根据数字信号数据判断红外发射管的光线是否被遮挡,若是,则进行步骤107。
107、根据数字信号数据确定真实触摸点;根据被遮挡光线的交点情况从所述理论触摸点中筛选出真实触摸点。
108、计算真实触摸点坐标。
获取真实触摸点的坐标。所述触摸点的坐标可以在该步骤中根据第一模拟信号数据和第二模拟信号数据计算,也可以在步骤105确定理论触摸点时计算。
《一种红外触摸屏触摸点识别方法和装置》通过获取红外发射管和红外接收管在同一光轴线时的接收管模拟信号数据,比较初始状态时的模拟信号数据和触摸以后获取的模拟信号数据,若他们的差值大于等于预设的数值,则判定存在触摸点,并初步确定理论触摸点;获取红外发射管和红外接收管不在同一光轴线时的接收管数字信号数据,剔除伪触摸点;计算触摸点坐标时,采用模拟信号数据,可以提高触摸点的识别精度;采用数字信号数据的识别方法可以提高多个触摸点识别时的识别速度。
具体地,作为一种优选方式,可以对所述红外接收管接收的信号设定阈值,在所述红外接收管的输出超过所述阈值时,获得数字信号数据为1或0;在所述红外接收管的输出不超过所述阈值时,获得数字信号数据为0或1。通过所述数字信号数据可以判断所述红外接收管是否接收到有效足量的红外线,从而可快速判断对应的红外发射管与红外接收管之间是否被遮挡。
在触摸屏上触摸的时候并非每次都是多点触摸,很多时候是单点触摸,单点触摸时,并非必须获取红外接收管的数字信号数据,以剔除伪触摸点;单点触摸时,只需利用获取的红外接收管的模拟信号数据就可以准确的得到触摸点的坐标。这样可以提高触摸点识别的速度。因此可以对上述实施例做进一步改进:
在步骤105中确定理论触摸点后,包括步骤:判断理论触摸点是否超过一个,若是,进行106步骤;若否,则直接获取触摸点的坐标。
考虑到,触摸屏启动之后可能存在没有触摸点的情况,可对上述实施例的方案,做进一步的改进:
在步骤104中,若第一模拟信号数据与第二模拟信号数据的差值小于预设数值,则返回102步骤。
同时考虑到,在进行斜扫描时,红外发射管的光线并没有被遮挡的情况,可对上述实施例,做进一步的改进:
在步骤106根据数字信号数据判断红外发射管的光线是否被遮挡的步骤中,若红外发射管的光线没有被遮挡,则返回102步骤。
上述步骤103的执行顺序,并非一定要在步骤104之前,也可以在步骤104或者步骤105之后,步骤106之前。
以上实施例中,触摸点坐标的计算并非一定要在确定真实触摸点的步骤之后,可以在确定理论触摸点时,计算理论触摸点的坐标;待确定真实触摸点之后,获取对应的真实触摸点的坐标即可。
其中,《一种红外触摸屏触摸点识别方法和装置》中提及的模拟信号数据可以是红外接收管输出的电压值,也可以是电流值。
接着介绍《一种红外触摸屏触摸点识别方法和装置》的装置,参考图2,一种红外触摸屏触摸点识别装置,包括:
扫描单元T1,用于对触摸屏进行全屏扫描;
第一获取单元T2,用于当选通的红外发射管和红外接收管在同一光轴线时,并在没有触摸点时获取红外接收管的第一模拟信号数据,以及在下一个扫描周期开始,获取红外接收管的第二模拟信号数据;
第二获取单元T3,用于当选通的红外发射管与红外接收管不在同一光轴线时,获取红外接收管的数字信号数据;
第一判断单元T4,用于在所述第一模拟信号数据与所述第二模拟信号数据的差值大于等于预设数值时,根据所述第一模拟信号数据和所述第二模拟信号数据确定理论触摸点;
第二判断单元T5,用于根据所述数字信号数据判断红外发射管的光线是否被遮挡,若是,则根据所述被遮挡光线的交点情况从所述理论触摸点中筛选出真实触摸点;
定位单元T6,用于获取所述真实触摸点的坐标。
《一种红外触摸屏触摸点识别方法和装置》通过获取红外发射管和红外接收管在同一光轴线时的接收管模拟信号数据,比较初始状态时的模拟信号数据和触摸以后获取的模拟信号数据,若他们的差值大于等于预设的数值,则判定存在触摸点,并初步确定理论触摸点;获取红外发射管和红外接收管不在同一光轴线时的接收管数字信号数据,剔除伪触摸点;计算触摸点坐标时,采用模拟信号数据,可以提高触摸点的识别精度;采用数字信号数据的识别多个触摸点的方法可以提高多个触摸点识别时的识别速度。
在触摸屏上触摸的时候并非每次都是多点触摸,很多时候是单点触摸,单点触摸时并非必须进行获取红外接收管的数字信号数据,以剔除伪触摸点;单点触摸时,只需利用获取的红外接收管的模拟信号数据就可以准确的得到触摸点的坐标。这样可以提高触摸点识别的速度。因此可以对上述实施例做进一步改进:
参考图3,上述装置还包括:
第三判断单元T7,用于判断理论触摸点的个数是否超过一个,若是,则通知第二判断单元T5确定真实触摸点,若否,则通知定位单元T6获取触摸点坐标。
考虑到,触摸屏启动之后可能存在没有触摸点的情况,可对上述实施例的方案,做进一步的改进:
经第一判断单元T4的计算,若第一模拟信号数据与第二模拟信号数据的差值小于预设数值,则通知第一获取单元T2继续获取第二模拟信号数据的操作。
同时考虑到,在进行斜扫描时,红外发射管的光线并没有被遮挡的情况,可对上述实施例,做进一步的改进:
第二判断单元T5判断红外发射管的光线没有被遮挡,则通知第一获取单元T2继续进行获取红外接收管的第二模拟信号数据的操作。
在第一判断单元T4确定理论触摸点时,同时根据第一模拟信号数据和第二模拟信号数据计算理论触摸点的坐标;
在第二判断单元T5根据被遮挡光线的交点情况确定真实触摸点后,直接通知定位单元T6获取真实触摸点的坐标。
接着介绍《一种红外触摸屏触摸点识别方法和装置》的具体应用例,参考图4,以触摸屏的左下角为坐标原点建立如图4所示的坐标系XOY,在X轴方向上,存在16对红外发射接收管,在Y轴方向上,存在12对红外发射接收管;进行垂直扫描时,得到相应的模拟信号数据,根据相应的模拟信号数据可以初步确定4个触摸点:触摸点A、触摸点B、伪触摸点C以及伪触摸点D;在进行斜扫描之前,是不能排除伪触摸点C和伪触摸点D的;接着进行斜扫描,获得对应的数字信号数据,然后根据对应的数字信号数据判断红外发射管的光线是否被遮挡,经过判断,存在遮挡,然后获取被遮挡光线,根据被遮挡光线的交点判断哪些是真实的触摸点,经过判断剔除了伪触摸点C和伪触摸点D。
经过图4实施例的方法,剔除了伪触摸点;此时可以使用获取的红外接收管的模拟信号数据(如,红外接收管的电压或者电流值)来计算触摸点的具体坐标。为节省篇幅,下面将以计算一个触摸点的坐标为例进行介绍,请参考图5,同样,以触摸屏的左下角为坐标原点,建立如图5所示的坐标系XOY,以红外管在触摸屏上的地址为坐标值,或者以红外管的按顺序编号的号码为坐标值,在X轴方向上,存在16对红外发射接收管,在Y轴方向上,存在12对红外发射接收管。在该实施例,以电压值作为红外接收管的模拟信号数据,以红外管的编号为坐标值(在X轴方向,编号从原点开始依次为1、2、3......16,在Y轴方向,从原点开始依次为1、2、3......12)为例。
在触摸屏刚启动时,进行X轴和Y轴的垂直扫描,获取X轴方向上的红外接收管的初始模拟信号数据;获取Y轴方向上的红外接收管的初始模拟信号数据;
有触摸点时,进行垂直扫描,在X轴方向上,获取红外接收管的模拟信号数据,经过与初始模拟信号数据的比较发现y3、y4、y5、y6和y7的电压值改变;并且红外接收管y3和y7各自对应的红外发射管的光线不是全部被遮挡,从初始模拟信号数据中获取红外接收管y3的模拟信号数据ORG[y3]以及红外接收管y7的模拟信号数据ORG[y7];从有触摸点时,扫描得到的红外接收管的模拟信号数据中获取红外接收管y3的模拟信号数据X[y3]以及红外接收管y7的模拟信号数据X[y7];则可依据以下步骤计算得到触摸点在X轴方向上的坐标C1:D1=X[y3]/ORG[y3];D2=X[y7]/ORG[y7];A1=y3;A2=y7-1;B1=A1-D1;B2=A2 D2;那么C1=(B1 B2)/2。
在Y轴方向上,获取红外接收管的模拟信号数据,经过与初始模拟信号数据的比较发现z3、z4、z5和z6的电压值改变;并且红外接收管z3和z6各自对应的红外发射管的光线不是全部被遮挡,从获取的初始模拟信号数据中获取红外接收管z3的模拟信号数据ORG[z3]以及红外接收管z6的模拟信号数据ORG[z6];从有触摸点时,扫描得到的红外接收管的模拟信号数据中获取红外接收管z3的模拟信号数据Y[z3]以及红外接收管z6的模拟信号数据Y[z6];则可依据以下步骤计算得到触摸点在Y轴方向上的坐标C2:D3=Y[z3]/ORG[z3];D2=Y[z6]/ORG[z6];A3=z3;A4=z6-1;B3=A3-D3;B4=A4 D4;那么C2=(B3 B4)/2。
由此得到触摸点的精确坐标值(C1,C2)。
最后将对传统方法中利用数字信号识别触摸点的方法定位每个触摸点的坐标与采用《一种红外触摸屏触摸点识别方法和装置》方法计算触摸点坐标的差别:其中步长是衡量触摸点识别精度的参数,步长越小,则触摸点识别精度越高;传统采用数字信号识别触摸点的方式中:坐标精度为:步长=最大逻辑坐标值÷总灯管数;例如:设x轴共100灯管,第2,3,4号灯管被遮,最大逻辑坐标为4095,则步长为4095÷100=41;而《一种红外触摸屏触摸点识别方法和装置》方法中:坐标精度为:步长=最大逻辑坐标值÷总灯管数÷模拟信号获取器件的分辨率;例如:设x轴共100灯管,使用8位的模拟信号获取器件(分辨率为256)获取模拟信号,最大逻辑坐标为4095,则步长=4095÷100÷256<1;理论上可达到步长=1。由此可见,《一种红外触摸屏触摸点识别方法和装置》提高了触摸点的识别精度。