- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
红外触摸屏原理
基本原理介绍
红外触摸屏的工作原理是在触摸屏的四周布满红外接收管和红外发射管,这些红外管在触摸屏表面呈一一对应的排列关系,形成一张由红外线布成的光网,当有物体(手指、带手套或任何触摸物体)进入红外光网阻挡住某处的红外线发射接收时,此点横竖两个方向的接收管收到的红外线的强弱就会发生变化,通过了解红外线的接收情况的变化就能知道何处进行了触摸。
?
构成及工作流程
构 成: 红外触摸屏由三部分组成:控制器、发射电路、接收电路。
工作流程
工作时,控制器中的微处理器(ARM7或其它)控制驱动电路(移位锁存器)依次接通红外发射管并 同 时 通过地址线和数据线来寻址相应的红外接收管。 当有触摸时,手指或其它物就会挡住经过该位置的横竖红外线,微处理器扫描检查时就会发现该受阻得红外线,判断可能有触摸,同时立刻换到另一坐标再扫描,如果再发现另外一轴也有一条红外线受阻,表示发现触摸,并将两个发现阻隔的红外对管位置报告给主机,经过计算判断出触摸点在屏幕的位置。其控制原理如图1所示。
发射电路
发射电路由移位锁存器))
CD74AC164M是一个8 Bit串行输入并行输出的位移锁存器。微处理器通过IO口控制移位锁存器的时钟以及数据输入端。在时钟的上升移位锁存器将写入。写入的脉冲会随移位时钟上升沿的到来不断的移位,直到从输出端移出。利用移位锁存器的这一特点,可在移位时钟的上升沿将脉冲移至发射管,并点亮发射管。将第一个移位锁存器的输出端与下一级的输入端相连,可将写入的脉冲移人下一级。因此,通过移位锁存器的级联可实现对更多的发射管的驱动。结合以上特点可将发射管逐个点亮。锁存器锁存器
接收电路 接收电路由移位锁存器)))
发射管被点亮的时刻,将通过地址线寻址与发射管位置上相对应的接收管,并将接收感应到的光通量通过放大器和AD转换器放大并转换成,再通过数据线传送给进行处理通过这样处理可使发射管与接收管一一对应,从而为确定触摸位置奠定基础。
移位锁存器)
光通量放大AD转换
软件工作流程
高分辨率的实现
早期的红外触摸屏的分辨率直接由红外对管数决定,对于接收管来说,只有接收到和没有接收到信号两种情况,触摸分辨率就等于屏的物理分辨率。因此其触摸屏的分辨率比较低。但如果将接收的信号强度进行量化分级,那么,对于接收的信号,不仅要判断是否被阻挡,还要判断出被阻挡的程度,触摸物的不同位置将决定是否有接收信号且接收信号的强度也有所不同,因此触摸物的位置与接收的红外信号强度有直接的对应关系,即使触摸物移动非常小的距离也会导致信号强度发生改变,从而可以得到极高的分辨率。该情况下的触摸屏分辨率主要由红外对管数和模数转换精度决定,其触摸屏分辨率为红外对管数与单对红外管能实现的分辨率的乘积。触摸屏坐标由红外管的物理坐标和触摸点在相应管中的坐标共同决定。基于以上原理,可以将每次采集到的红外接收管的光通量进行256级量化,这样,得到的最小分辨率就是接收管的宽度/256,从而大大提高了红外触摸屏的分辨率,该方法可以达到2046×的精度。
触摸位置的计算
为了得到准确的触摸位置,在计算触摸位置时必须排除周围环境光的干扰。为此,通过确定每对管子的域值来作为判断是否有手指触摸的依据。该域值的确定可通过对每对管子的“0”态和“1”态时的数据采样来实现。 “0”态,即将所有的发射管进行一次清零,此时的发射管都为熄灭状态,这样,采样得到的就是接收管接收到的周围光的光通量;“1”态,即将所有的发射管逐个点亮,此时的发射管在某一时刻只有一只被点亮,采样得到的是接收管接收对应发射管及周围光的光通量。红外触摸屏的触摸位置的计算主要是通过遮挡时与未遮挡时的光强比来得到的。在判断触摸位置时,可以先确定被遮挡的管子,计算得到被遮挡的大致位置。若被遮挡的管子为第N个管子,这个被遮挡的大致位置为Ld,则有:
Ld=(N-1)×管子的宽度
由于手指遮挡时有一定的区域,所以遮挡时有两种可能:其一是在被确定的管子的前面;其二是在被确定的管子处。图3所示为手指遮挡示意图。
为了精确计算,需要计算这两种情况下位置的偏移量△L1和△L2。则有:
其中,L为第N个管子被遮挡时的位置。△L1为手指在被确定的管子的前面时的偏移量。△L2为手指在被确定的管子处时的偏移量,XN为扫描时采样第N个管子接收到的数据,XNmax为“1”态时采样第N个管子接收到的数据.XNmin为“0”态时采样第N个管子接收到的数据。
鼠标驱动
只能得到触摸位置信息,而无法实现相应的鼠标动作。所以,必须通过主机端的驱动程序来实现鼠标动作通过VC++编程来实现串口通信和鼠标动作,从而完成软件结合硬件对鼠标的驱动。
串口通信
为了使主机能够接收通过串口传送的触摸位置,可利用Microsoft公司提供的ActiveX控件Mi
文档评论(0)