“红外触摸屏的工作原理是在触摸屏的四周布满红外接受管和红外发射管,这些红外管在触摸屏的表面排列呈一一对应的位置关系,形成一张由红外线布成的光网,当有物体(可以是手指、带手套的手或任何触摸物体)进入红外光网阻挡住某处的红外线发射接收时,此点的横竖两个方向的接收红外管接收到的红外线的强弱就会发生变化,设备通过了解红外线的接收情况的变化就能知道何处进行了触摸。”这是网上找到的原理描述。但是具体怎么实现的,我们来分析一下,或者试着设计一下。
1.整体布局如上图,相邻两个边分别是发射和接收部分,这就构成了整体的红外光网。
2.发射部分如上图所示,MCU通过SPI接口发送数据,由n个74HC595进行串行移位寄存操作,将数据分别显示到每组8个的红外发射管上。
3.至于接收部分,我只想到了两种可能。一种是MCU有几十个I/O口可进行高低电平的判断,或者是通过I/O扩展进行。另一种是通过A/D采样检测进行,这种方法简单,而且节省I/O资源。我只介绍第二种方式,只是我的设计,没有实际检验过,如果你有更好的方法,大家交流一下。
{dy}种A/D采样类似矩阵键盘结构,8X8一共64个红外接收LED,扫描也类似矩阵键盘,不过这只能支持小尺寸的屏幕,比较消耗系统资源。
第二种是类似A/D键盘,当某个管接收到高电平或低电平后,产生AD变化,单个管变化,AD值不一样,可以列出一个表格,一个MCU有8路A/D采样,16X8=128个。为了提高精度电阻的精度{zh0}为1%,如果5%精度可以在软件上修改,采集值在规定的范围内即为有高/低电平。但是这两种方式都只能进行单点操作的数据采集,多点的采集好像不太好。如果你有多点的采集方式,不要吝啬哦。