触摸屏与LCD显示屏是两个不同的物理器件。LCD处理的像素,例如我们通常所说的分辨率是600x800,实际就是指每行的宽度是600个像素,高度是800个像素,而触摸屏处理的数据是点的物理坐标,该坐标是通过触摸屏控制器采集到的。两者之间需要一定的转换。
其次, 在安装触摸屏时,不可避免的存在着一定的误差,如旋转,平移的,这同样需要校正解决。
再次,电阻式触摸屏的材料本身有差异而且随着时间的推移,其参数也会有所变化,因此需要经常性的校正(电容式触摸屏只需要一次校正即可,这是由两者不同的材料原理造成的,具体可参阅有关电阻式和电容式触摸屏对比的文章)(2)如何校正?
触摸屏的校正过程一般为: 依次在屏幕的几个不同位置显示某种标记(如"+"), 用触摸笔点击这些标记, 完成校正。
如果PT(x, y)表示触摸屏上的一个点, PL(x, y)表示LCD上的一个点,校正的结果就是得到一个转换矩阵M, 使PL(x, y) = M·PT(x, y)。
触摸屏读取基本上可以有五点式和三点式两种。
在项目的中,采用6.5寸触摸屏,液晶屏是800x480的数字,触摸屏的程序是7寸屏的程序,xy轴的次序一样。
修改为6.5寸程序时,会出现触摸屏触摸不准确的问题。
校准后触摸屏触摸正确,断电后再上电,触摸屏过一会儿又开始不准确。刚开始分析原因时,推断EEPROM存储器读取有问题。校准后读出EEPROM的数据,然后断电再上电再读取EEPROM的数据,两者一样,排除EEPROM存取问题。
修改程序,效果不明显,从5点式换成3点式,现象一样。分析原因,硬件及触摸屏问题。
硬件7寸屏跟6.5寸屏一样,因此可以排除硬件问题。接下去是触摸屏问题。
测试发现,触摸屏的xy轴的数据在20%的区域内,不是很稳定。由于6.5寸屏的区域小于7寸屏,因此在7寸屏时校准ICON并没有超出20%的区域,而在6.5寸屏时,xy都超出了20%的区域,因此造成触摸时时准时不准。
以6.5为例,x=142.4,y=77.9,因此触摸校准的左上角的中心(五点式为例)应该坐落在触摸屏上(28.4, 15.5)位置上,因此调准液晶屏上校准ICON使ICON中心与左上角重合,其他四点也一样。
计算出四点参数,解决了触摸屏时准时不准问题,断电再上电,触摸屏完全准确。 |