红外触摸

2024-06-25

红外触摸(精选4篇)

红外触摸 篇1

1 引言

随着电子信息技术的不断发展, 电子类产品种类越来越丰富, 功能越来越智能化, 技术含量也越来越高。密码键盘输入设备的变迁也真正地印证了这一点, 密码键盘最早是采用机械按键和数码显示屏来设计的, 成本比较低, 缺点是按键容易损坏, 而且密码容易被泄露。后来随着电阻屏的出现, 给智能化操作带来了新的契机, 电阻屏很快也应用到了各个领域, 随之出现了电阻触摸式密码键盘, 尤其重要的是它实现了乱序密码显示的功能, 每个数字显示的位置不是固定的, 可以随机变化, 提高了密码键盘输入的安全可靠性。但是总的来说电阻触摸屏成本要比普通的密码键盘要高很多, 普遍推广受到限制。本设计的红外触摸式密码键盘可以很好地弥补以上两种产品的不足, 它采用了低散射角度的红外发射和接收管组成的光电开关来实现按键的输入, 即很大程度地降低了成本, 又实现了乱序密码键盘输入的功能, 很大程度提高了密码安全性。

2 原理

本设计由3大部分组成: 主控制单元、液晶显示屏和红外发送、接收管组合单元。 首先主控制单元控制整个系统运行和功能的实现, 主要功能是控制液晶屏显示数字和红外对射管状态的动态扫描。在主控制单元中, 中央处理器 (CPU) 采用的是意法半导体的STM32F103,它有USB2.0接口, 便于和计算机的USB口的连接通信。液晶显示屏主要是在主控制单元的控制下来实现数字 (0-9) 的显示, 数字顺序可以设计为乱序的。红外发送、接收管组合单元主要是完成红外管的发 射和接收功能, 当发射管发射的红外线被遮挡时, 接收管输出端电压值有明显变化。选择红外发送、接收管组合管时, 需要选体积小、散射的角度小的期间。一般红外发送管的散射角不要大于25度, 能够防止红外线的串射, 造成按键的错误识别。一组组的红外对射管组成红外对射网络, 当有手指按下遮挡住某部分红外光线的时候, 主控制单元就能够通过扫描X轴和Y轴的接收管的输入状态电平变化来判断出按键输入对应的坐标, 根据坐标范围得出按键的对应键值, 从而判断出哪一个按键被按下, 这样就实现了触摸式按键输入的功能。

3 组成部分示意图

如图1所示。

4 液晶屏和红外管的相对位置示意图

如图2所示。 ( 代表红外发射管, 代表红外接收管)

每个方格的位置可以显示一个数字, 右下角的“确认”和“取消”键的位置固定不动, 数字可以随机显示。使用者可以根据上面显示的数字, 选择要按下的数字按键, 按键被主控制单元扫描到后, 主控制单元的蜂鸣器会有“嘀”的提示音。

5 红外检测电路

由于红外接收管的检测电路要能够检测到对应发射管发射的红外光源, 所以要求检测电路必须相对精确, 当对应的光源被遮挡时输出能够有电平的变化。因此在红外接收管检测电路中, 采用了电压比较器LM393, 电路图如图3所示。当正常工作时红外光源没有被遮挡, D1导通, VIrDA_in电压低于基准电压 (Vref), VIrDA_out输出低电平, 当光线被遮挡时, D1处于断开状态, 此时电阻R1把VIrDA_in端信号电平拉高为VCC, 高于基准电压, VIrDA_out端输出高电平, 实现了电平的转换, 主控制单元通过判断电平的变化再加延时去抖后, 得处按键的X、Y坐标, 从而得出按键的键值。这里要特别要注意基准电压Vref的值要根据红外对射管之间距离的远近来确定, 距离越远, 基准电压要稍微高些。方法也就是要通过调整R2、R3的电阻值来改变Vref的值, R2、R3的精度要求在1%。

6 程序流程图

如图4所示。

7 结语

设计的红外触摸式密码键盘, 利用红外对射感应的方式, 检测红外线的遮挡和导通, 来判断按键是否被按下, 完成密码输入的功能, 更重要的是能够实现乱序密码键盘的功能, 提高了密码输入的安全性, 该设计可以广泛应用到银行柜台、药店、电力自助缴费等需要密码输入的设备上, 很大程度上避免了用户密码的泄露。

摘要:设计了一种简易型、成本低廉、高安全性的密码键盘,详细介绍了其工作原理和实现方法,给出了基本原理图和程序流程图。

关键词:红外,触摸式,密码键盘,高安全性

红外触摸 篇2

触摸屏的出现提供了一种新的人机交互方式,触摸屏代替按键进行操作,使得人机交互更为方便[1]。由此产生设计触摸屏控制器的设计想法。

触摸屏红外控制器利用电容式触摸屏代替固定按键来进行操作,避免了传统遥控器按键老化的缺点,通过手指在触摸屏上滑动进行上下左右操作,比按键式更加灵敏、方便。采用锂电池进行供电,该锂电池可利用USB接口进行反复充电,同时控制器具有自动休眠功能,使得能耗更低。更新红外协议可控制多种红外接收设备,实现“一机多用”[2]。

1 硬件介绍

1.1 系统硬件设计

整体硬件包括:USB转I2C模块(USB to I2C)、低功耗唤醒(Low Power Wake-up)、触摸屏以及连接、电源管理模块(Power Management)、LED灯显示、红外发射、主控芯片HAV1007。

USB转I2C模块:该模块主要用作主控芯片HAV1007和PC之间的通信。首先,通过固定的编码格式将红外协议进行编码;其次,PC将该编码后的协议通过USB to I2C模块更新到HAV1007中。经过上述两个步骤,完成红外协议的更新,以控制多种红外接收设备。

低功耗唤醒:该模块主要功能为唤醒低功耗模式下的主控芯片。一定时间内没有对控制器进行操作,主控芯片自动进入休眠模式,再次使用该控制器时,通过该模块进行唤醒,由休眠模式进入正常模式。

触摸屏以及连接:该模块由导电油墨电容式触摸屏和外围连接电路组成。主要是采集手指触摸在触摸屏中的数据信息,并由外围电路传递给芯片进行处理。

电源管理模块:该模块由锂电池和外围电路组成。

LED灯显示:该模块由LED灯和外围电路组成,主要功能是显示给用户当前控制的设备和红外发射指示。

红外发射:该模块由三极管和放大电路组成,主要功能是根据PWM信号,完成红外信号的发射。

如图1所示,硬件的各个模块以及各模块之间的连接。

1.2 芯片框图

本项目使用HAV1007作为主控芯片。芯片HAV1007是针对电容式触摸屏开发的一款芯片,其CPU采用苏州国芯C*Core CPU C306。该CPU采用0.15μm EFlash生产工艺,4级流水线,完全可综合的32位嵌入式RISC CPU,低功耗,高性能,高代码密度,适用于手提设备(PDA、移动电话)、通信设备(无线局域网、路由器)、汽车工业(ABS、安全气囊、电喷控制、刹车控制)、家用电器以及众多的工业过程控制。具有丰富的外设资源,包括AD,PIT,WDT,SPI,UART,EPORT,I2C等。如图2所示为芯片HAV1007详细信息。

2 软件设计方案

2.1 整体软件设计

整体软件设计方案包括:系统初始化,触摸数据的采集、处理,状态转移,红外协议更新,红外数据处理和红外发射。

首先,按照方案对CPU的外设以及外设的中断设置进行初始化。电容式触摸屏由15条X感应线和7条Y感应线组成,需根据感应线分布情况设置相应的感应参数,同时根据中断需求设置各模块中断以及各模块寄存器。

初始化完毕,系统处于等待状态,手指触摸时,触摸信息通过22条感应线传递给CPU,采集到的触摸信息经过处理,最终生成触摸点坐标和手指个数信息。将生成的数据存储在循环数组(触摸坐标值)中[3],这样完成了数据坐标的存储,该数据信息将作为状态转移模块的数据输入。状态转移模块根据输入的数据信息和当前状态,完成状态转移和红外发射的设置。需要发射红外信号时,将待发射的信号与存储在Flash中的红外数据匹配,选择发射的红外码值并编码,将编码完毕的数据存储在循环数组(红外编码数据)中[4]。红外发射模块读取红外编码数据,设置PWM引脚,最终由硬件电路对信号进行放大、发射,这样就完成从手指触摸到红外信号发射过程。其中,两个循环数组作为两模块之间的桥梁,并具有缓冲作用。

更新红外协议可控制不同设备,在网页界面选择要更新设备的红外协议(编码后),USB to I2C模块将PC的数据传输到触摸屏控制器中,校验并存储,完成红外协议的更新。如图3所示,为整体软件设计方案。

2.2程序流程图

在系统中,触摸信息的产生是周期性的,频率由WDT控制。系统初始化中设置WDT时间Tw,采点频率1/Tw。WDT中断服务函数中将采点标志位置“1”,主程序中判断该标志位的值,进行数据的采集、存储,采集完成后,将该标志位清零,控制采点频率,并将采集到的点存储在循环数组(触摸坐标)中。

主程序中,将采集到的点进行处理、分析,通过当前状态Current_State和处理后的点信息,得出输出状态Output_State和信息。根据状态跳转和输出信息,判断红外信号发射情况。需发射红外数据时,将编码后的红外数据存储在循环数组(红外编码)中,由于RAM的限制,循环数组不能一次存储全部的红外编码值,需要将发射完毕后的红外编码值清除,在清除后的位置上填充新的红外编码值。红外编码值的存储和发射同步进行,由模块PIT和PWM共同完成。PIT负责数据的填充,PWM负责数据的读取,二者协同完成红外编码数据的设置。最终由红外发射电路将红外信号发射出去。

主程序流程图和各中断服务函数流程如图4所示。



2.3 状态转移

参考固定按键遥控器的状态设置,设计了基于电容式触摸屏的状态机[5]。该状态机采用有限状态机,有限状态机分为Moore型有限状态机和Mealy型有限状态机。Moore型有限状态机,输出信号仅与当前状态有关。Mealy型有限状态机,输出信号与当前状态和输入信号有关[6,7]。因输出信号与当前状态和输入的数据信息有关,固该状态机选择Mealy型有限状态机。不同于固定按键遥控器的按键状态种类,触摸屏控制器需考虑更多状态。状态及注释:“1 s”为双击操作两次点击之间的时间阈值;G_IDLE_STATE表示空闲状态;G_T_STATE表示触摸状态;G_SC_UP_STATE表示点击提起状态;G_LP_STATE表示长按状态;G_DM_STATE表示滑动状态;G_DS_T_STATE表示双击的第二次触摸状态。图5描述了手指触摸在触摸屏上产生的各种状态,以及状态转移路径和转移条件。

状态机的设置,使得触摸操作更为精准、灵敏,并实现了双击和长按动作。

2.4 数字模式

数字模式下支持数字手写输入。输入的数据信息经过数字识别算法判断出红外信号,该数字识别算法主要包括3个模块:数据预处理、特征提取、数字识别。特征提取分为方向特征、首末点轮廓、整体轮廓、断点的提取。图6为数字识别算法结构框图。

数字识别模块采用编辑距离公式进行数据和模板的比对,判断编辑距离最小的数字为输出数字。编辑距离是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符[8,9,10,11]。

本文针对数字模式进行了一些编辑距离算法的改进,改进的编辑距离步骤:

1)定义左上数据变量,上、左数据变量,以及定义记录当前数值的数组,并赋初值;

2)比较数字模板和提取的特征向量,若当前位置对应的数字相等,则临时变量赋0,否则赋2(临时变量表示下一步的编辑距离),将左上数值加临时变量、上数值加1、左数值加1三者的最小值赋给数组的当前位置(如果出现0,则临时变量赋0);

3)判定是否遍历数字与提取的特征向量,如果是,输出数组最后的一个数值,即数字与样本的编辑距离,否则返回执行步骤3);

4)判定是否遍历0~9数字模板,如果是,则判定与样本的编辑距离最短的数字为输出的数字;否则,返回执行步骤2)。

该数字识别算法,具有复杂度低、容错性强、识别率高的优点。对大量数据进行试验,结果表明数字识别率为95.5%。

3 结果

根据该方案,经过软硬件测试,最终完成电容式触摸屏红外控制器样机的生产。

该样机包括3种模式:方向模式、鼠标模式、数字模式。方向模式采用上下左右滑动代替了传统遥控器的上下左右键,并且可根据滑动速度和距离判断发射红外次数,操作方便。鼠标模式中,滑动鼠标时,发射鼠标的红外键值,该功能主要用于机顶盒中。数字模式时,支持数字手写输入,经过处理发射数字对应的红外键值[12]。

经产品测试,该产品具有较高的数字识别率,增加了鼠标、双击确认、长按等功能,可控制多种设备,具有良好的用户体验。图7所示为该控制器样机图片。

4 小结

随着触摸屏市场的打开,触摸屏设备成为人们生活不可分割的一部分。电容式触摸屏红外控制器完全有可能作为传统固定按键遥控器的替代品。通过更换红外协议的方式来控制多种设备,协议的获得只需开发人员完成,无需用户进行设置,用户只需在网上选择需要更换的设备编号即可完成所控设备的更换,摒弃了学习型遥控器所控设备单一的缺点。同时,触摸屏控制器操作更为方便,容易被人们所接受。因此,具有研究和生产价值。

摘要:主要介绍了触摸屏红外控制器的设计方案,该方案主要包括主控制单元HAV1007芯片介绍、主控单元和外围硬件电路的连接、整体软件设计和程序流程图。实现了鼠标操作、数字手写输入和双击确认功能。该触摸屏红外控制器能够流畅地控制红外接收设备,如电视、机顶盒、空调等,并获得了良好的用户体验。

关键词:设计方案,触摸屏红外控制器,HAV1007

参考文献

[1]许强.面向Android机顶盒的触摸屏红外遥控器的设计[J].电视技术,2014,38(1):82-85.

[2]李晋.学习型遥控器设计[J].电子测量技术,2006,29(1):106-107.

[3]许淑华.C语言中数组应用总结[J].科技广场,2014,38(1):254-256.

[4]徐志.基于模糊模式识别算法的学习型红外遥控器的编码压缩[J].福州大学学报,2008(36):62-64.

[5]泰国栋.有限状态机的嵌入式Linux按键驱动设计[J].单片机与嵌入式系统应用,2012,4(1):1-4.

[6]刘斌.基于有限状态机的Linux多点触摸屏驱动设计[J].微计算机信息,2012,28(3):54-56.

[7]孙宏旭.基于有限状态机的模型转换方法的研究[J].计算机技术与应用,2012,22(2):10-13.

[8]肖冰.一种度量图像相似性和计算图编辑距离的新方法[J].电子学报,2009,37(10):2206-2210.

[9]赵作鹏.一种改进的编辑距离算法及其在数据处理中的应用[J].计算机应用,2009,29(2):425-426.

[10]刁兴春.一种融合多种编辑距离的字符串相似度计算方法[J].计算机应用研究,2010,27(12):4524-4525.

[11]ROBLES K A,HANCOCK E R.Graph edit distance from spectral seriation[J].IEEE Trans.Pattern Analysis and Machine Intelligence,2005,27(3):365-378.

红外触摸 篇3

为解决此问题,市场上出现了学习型遥控器。学习型遥控器是指一个遥控器可以通过学习其他遥控器发射的红外信号来操控多个电器,实现遥控器数量的减少,方便用户操作。目前市场上出现的学习型遥控器大致可以分为3种:1)单学习功能遥控器;2)学习加万能遥控器;3)学习加固定码遥控器[2]。但上述3种遥控器存在的问题是:用户在使用遥控器的学习功能时,需要有被学习的遥控器;学习型遥控器对被学习的遥控器红外编码有一定要求,不能学习所有红外编码类型的遥控器;遥控器学习过程较为麻烦,需要一个键一个键的去学习。

触摸屏遥控器的出现从根本上解决了这一问题,它是一种通过触摸屏输入利用红外技术传输的新型遥控器[3],不使用以往的遥控器按键,符合时代发展的潮流;可通过从网页上下载所需的遥控器协议即可完成遥控器红外协议的更新,满足不同品牌的遥控设备,方便快捷;理论上讲,只要能够按照自定义的协议内容编码红外协议数据,就可以完成对该遥控器的“学习”,实现真正的万能遥控器。

本文基于上述考虑,设计了一种用于更新触摸屏遥控器红外协议的数据下载方法,对自定义数据格式内容进行了详细的描述,并利用自定义数据格式对不同的红外遥控协议进行了编码,通过对实验结果的分析,验证了本文方法的可靠性与实用价值。

1 红外协议更新工作原理

触摸屏遥控器红外协议的更新分为红外协议数据处理,红外协议数据下载、存储和红外协议下载网页操作3个部分。其下载示意图如图1所示,首先,需要将已有的红外协议按照自定义的数据格式依次编码,并将其逐一存放在互联网服务器端;然后,在触摸屏遥控器端,通过MSP430F1611主控芯片的中断控制[4],使用C语言编写接收、存储数据的代码,完成数据接收、存储的工作;最后,将触摸屏遥控器通过USB数据线连接一台可正常访问互联网的计算机,在计算机上通过浏览器打开指定的网页,在网页上根据页面提示选择需要下载的遥控器协议,点击下载即可完成对触摸屏遥控器红外协议的更新。

2 数据处理

2.1 红外遥控协议种类

红外遥控器应用非常广泛,但由于各个厂家设计的遥控器种类各异,因而针对各类不同电子产品,采用的红外遥控器也就不完全相同,除了遥控器本身的造型外,起决定因素的是红外遥控信号传输协议。红外遥控协议根据载波的频率、占空比、逻辑0与1的编码方式以及红外信号编码构成的不同可以分为很多种[5],根据收集到的49种红外遥控协议,图2从载波频率方面进行了统计分析。

红外接收头的调制载波频率一般在30~60 kHz,大多数使用的是38 kHz,占空比1/3的方波,这是由发射端所使用的455 kHz晶振决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455 kHz经过12分频后约等于38 kHz[6]。从图2也可以看出,红外遥控协议也大多采用38 kHz的载波频率。目前较为常用的红外线信号传输协议是NEC协议、Nokia NRC协议、Sharp协议、Philips RC-5协议、Philips RC-6协议以及Sony SIRC协议等[7]。

2.2 红外遥控协议处理

触摸屏遥控器可以根据用户需要,从指定网页上更新用户需要的红外遥控器协议,真正实现一机多控,方便用户操作。这些用户所需的红外遥控协议是根据自定义红外协议数据格式编写的,红外协议数据格式设计为4部分,分别是数据头区、红外协议定义区、协议键值区和数据校验区,自定义红外数据格式结构如图3所示。

其中数据头区包含数据存储信息段和数据总长信息段,如图4所示,红外协议定义区对红外协议的相关参数进行定义,如图5所示,协议键值区对该种协议需要用到的键值进行定义,如图6所示,数据校验区完成发送数据的正误校验功能。

在红外协议定义区中,协议标志位信息段包含红外协议的区别于其他红外协议的标志位信息,其具体构成如图7所示,各标志位的数字含义如表1所示,根据表1所提供的标志位信息,可以预先在服务器端存放多种红外协议以供触摸屏遥控器下载,更新自身红外协议。

3 数据下载与存储

TI公司的MSP430F1611型单片机是专门为低功耗系统而研制的新型16位单片机,它具有LMPO~LMP4的5种低功耗模式,内置多种外围设备,如3个定时器、看门狗、比较器、12位A/D、Flash存储器、串口通信模块、硬件乘法器等[8,9],大大简化了硬件电路设计。PC机与MSP430F1611内部提供的串口通信模块,配合电平转换芯片MAX3223可以很容易实现串口通信[10]。MSP430F161 1有10 kbyte的RAM和48 kbyte+256 byte的Flash存储器[11],该存储空间既可存储代码也可以存储数据,存储代码或者数据时,需要先对指定地址所在的数据段进行擦除操作,然后再存放数据或者代码。根据上文2.1节数据头区中数据存储信息段的内容,可以确定数据存放的位置,本设计方法为触摸屏遥控设置了3个地址来存储红外遥控协议,所存储的红外遥控协议分别为机顶盒红外遥控协议,电视机红外遥控协议和空调器红外遥控协议,因为这3种设备是当前使用最普遍的红外遥控设备。

红外遥控协议的数据存储过程即MSP430F1611的Flash写入过程,该过程由函数intWriteSeg(char*add,char*Wdata,char length)实现,其中参数add为要写入数据的FLASH地址,Wdata为被存储数据所在的起始地址,length为数据字节个数。

程序开始执行后,首先要判断取、存数据地址是否为空,若为空则返回写数据失败信息,否则Flash指针指向取数据的地址;然后通过控制FCTL1和FCTL3使程序可以擦除Flash数据,并解锁数据存储功能,满足条件时可以清除指定Flash块的数据,并可以向Flash中写入数据;最后当数据存储完成后,再控制FCTL2和FCTL3来禁止Flash的写入操作,并锁存Flash,程序执行主要代码如下:

程序流程图如图8所示。

4 下载网页操作

触摸屏遥控器采用在线更新方式,从网页更新设备键码值。先通过USB数据线将触摸屏遥控器与计算机相连,打开触摸屏遥控器电源开关,然后登录网页,网页显示如图9所示。

页面显示有3种家电分类,即电视、机顶盒和空调,每一类家电包含品牌和型号两个选项,用户可以根据提供的列表选择需要遥控设备的产品品牌和型号来更新红外遥控协议,在需要遥控设备的产品品牌和型号的选择上是比较灵活的:可以选择单一的遥控设备,比如只选择电视的品牌和型号来更新红外遥控协议,也可以选择任意两种或者同时选择3种遥控设备的品牌和型号来更新红外遥控议。确定好所需下载的红外遥控协议,一切就绪后,点击下载按钮,刚才所选择的红外遥控协议就下载到了触摸遥控器的FLASH存储器中,如果下载成功,页面会有下载成功窗口提示,反之则会提示下载失败。下载成功后关闭触摸屏遥控器,断开它与计算机的连接,然后再打开就可以用更新后的红外遥控协议去控制相应的设备,至此,触摸屏遥控器的红外协议更新完成,网页操作部分结束。

5 实验测试

实验对网页下载部分进行了测试,测试种类分为单一设备红外遥控协议下载、任意两种设备红外遥控协议下载和同时选择3种设备红外遥控下载,每种测试项目的测试次数为1 000次,红外协议下载后可以正确发送红外信号即为下载成功,否则记为失败,分别统计成功次数和失败次数。测试遥控器下载协议中,电视类使用创维电视红外遥控协议和夏普遥电视红外遥控协议,机顶盒类使用泰达机顶盒红外遥控协议和银河机顶盒红外遥控协议,空调类使用格力空调红外遥控协议和春兰空调红外遥控协议,实验结果如表2所示。

根据表2的测试结果,可以看出在下载单一遥控器协议时,下载成功率较高,随着同时下载协议数量的增加,下载成功率也会随之下降,但下载成功率仍高达99%以上,完全满足设计要求。

6 结束语

触摸屏遥控器更新红外协议的数据下载方法可以让一个触摸屏遥控器控制机顶盒、电视机和空调3个设备,理论上讲,只要存储空间足够大,触摸屏遥控器可以控制任意多个设备。用户不用购买新的遥控器,只需通过更新触摸屏遥控器的红外遥控协议就可以控制其他红外遥控设备,真正实现了一机多控”。该方法相比于传统学习型遥控器“更新”红外

协议的方法而言,更加简单,易于实现。

本文所述方法虽然已经通过实验测试,但还有一些方面需要完善,比如对红外遥控协议的收集整理还不够完备,服务器端数据存储的安全性问题等,还需要继续深入研究。人们已经习惯于使用触摸屏手机,相信触摸屏遥控器也一定会被广大用户所接受并流行,这将会是红外遥控器的一次巨大的发展进步。

参考文献

[1]KIM L.PARK W.CHO H,et al.A univeisal remote control with haptic interface for customer electronic devices[J].IEEE Trans.Consumer Electronics,2010,56(2):913-918.

[2]席彦彬.学习型遥控器原理及常见故障简介[J].电视技术,2013.37(12):39-44.

[3]罗芗锋,陈锐.基于多点触控及语音传输的智能电视遥控器[J].电视技术.2012,36(16):33-34.

[4]佚名.MSP430F161lIPM中文资料[EB/OL].[2014-06-28].http://wenku.baidu.com/link?url=AIb38AvULHUI l57l49p Pwfgi8_SXpC41BRfg45v_EBlcXqDWYZpjIlOkygHAyg 143Lp2e KJFSW6M_7UhPdEyLmujMh9jchjWs3LtW6F50u.

[5]沈晓晖,李伟.学习型遥控器全接触[J].中国有线电视,2011(2):136-138.

[6]周祖荣,冯步云.基于单片机简便学习型红外万用遥控器的设计[J].信息通信,2013(10):64-65.

[7]佚名.几种常用的红外线信号传输协议[EB/OL].[2014-06-28].http://www.go-gddq.com/wap.aspx?nid=1024SS1&cid=1239.

[8]沈建华,杨艳琴,翟晓曙.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004.

[9]魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002.

[10]冯峻域,戴青云,植俊文.基于多线程串口通信的生产数据实时采集系统[J].微计算机信息.2006(10):149-151.

红外触摸 篇4

传统按键式遥控器的局限性可以总结为以下几点: 一是随着家用电器功能的增加,导致遥控器的按键数量增多与体积增大,使得操作不便;二是以按键作为输入装置,使得遥控器的使用寿命有限;三是按键变得越来越小,使得用户在使用过程中,常常出现按键错的现象,给人们使用遥控器带来不便。

目前应用于Android机顶盒的遥控器除传统按键式遥控器外,有的用户通过安装手机软件,把智能手机当作遥控器使用,但是手机主要功能不是作为遥控器,所以只能是暂时代替遥控器;还有一种把键盘、轨迹球或者触摸板、红外遥控相结合的遥控器,这种遥控器虽然功能强大,但是按键繁多,操作复杂;第三种是有触摸屏的遥控器,除了可以实现遥控器的功能,还可以直接从遥控器的触摸屏上预览电视节目,这种遥控器成本比较高,短期内没法大面积普及。

本文基于上述考虑,设计一种通过触摸屏输入利用红外技术传输的新型遥控器[2];使用该遥控器不需要在接收端添加新硬件,即拿即用;遥控器可通过数据线下载不同的红外遥控码,满足不同品牌的设备;操作简单、稳定耐用。

1系统设计

1.1系统结构

触摸屏红外遥控器主要由控制模块、采集模块、发射模块、电源模块和检测模块等组成[3]。系统模块组成图如图1。

由检测模块实时检测遥控器是否被使用,若是则启动遥控器,否则系统进入休眠状态;采集模块记录用户的触点坐标集合;触点坐标集合经由控制模块分析后,将触点坐标集合转换为相应的遥控码;红外发射模块负责将遥控码发送给Android机顶盒。

控制模块的核心为低功耗嵌入式处理器,其功能是对整个系统进行管理与控制,包括中断的处理、系统的休眠与苏醒、数据处理与修正等;采集模块由触摸屏控制器采集触点坐标,然后由控制模块将触点坐标集合转换为遥控码[4];发射模块主要负责将遥控码发送给Android机顶盒;电源模块采用锂电池作为遥控器的电源,当电量不足时,可通过Micro USB对锂电池进行充电;检测模块的功能是在系统进入休眠状态时,通过加速传感器检测遥控器是否被拿起,若是则给控制模块发送信号,唤醒系统。

1.2功能设计

触摸屏红外遥控器除可以通过手势实现普通遥控器的基本功能外,还具有鼠标功能。遥控器功能区域结构如图2,触摸屏底端有确定和返回2个固定按键区域,点击此区域时分别表示进行确定与返回操作。当手指在触控区域上、下、左、右沿直线滑动一定距离,表示方向手势,分别对应上、下、左、右键。

手指在触控区域移动时候,可以控制鼠标,鼠标随手指的移动而移动;当手指在该区域连续点击两次,实现鼠标单击功能。一个手指按住确定不动,另一个手指上、下沿直线滑动,可实现鼠标滑轮功能。

1.3硬件系统设计

触摸屏红外遥控器硬件系统[5]框图如图3。

核心处理器是为触摸屏红外遥控器专业设计的芯片——HAV-1007,该芯片主要包括一个低功耗嵌入式处理器,一个触摸屏控制器和PWM模块,分别负责系统管理和控制、触点坐标的采集与红外脉冲的调制。处理器具有高性能、高代码密度、快速中断响应、灵活性高、面积小、低成本的特点;针对低功耗嵌入式应用,特别适用于手持应用中的电池工作模式。

触摸屏使用的是电容式触摸屏。触摸屏ITO Sensor为菱形结构,如图4,具有准确度高,手写效果好,支持真实两点等优点。

红外发射电路如图5,主要包括红外发射二级管与放大三极管HMBT1815。信号经过放大后由红外发射二极管D7发射,与D7并联的发光二极管D8在发射遥控码时点亮,起指示作用。

1.4软件系统设计

软件主要由信息读取模块、触摸动作分析模块、红外发射模块[6]组成。软件总体流程图如图6。

遥控器启动后,如果有触摸,则处理器从触摸屏控制器中读取已检测到的触摸信息——触点坐标。读取到触点坐标后,首先判断触摸的第一个触点坐标是否位于固定按键区域内,若真则编写相应的按键遥控码。否则判断是否为鼠标动作,若真则编写鼠标遥控码。当手指离开屏幕后,表示一次操作完成,判断本次操作是否符合手势操作,若真则编写手势遥控码。

遥控器的输出采用脉宽调制的串行码,以脉宽为0.565 ms、间隔0.560 ms、周期为1.125 ms的组合表示二进制的“0”;以脉宽为0.565 ms、间隔1.685 ms、周期为2.250 ms的组合表示二进制的“1”[7]。

上述“0”和“1”组成的32位二进制码经38 k Hz的载频进行二次调制,然后再通过红外发射二极管产生红外线向Android机顶盒发射。

按键、手势遥控码都是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的红外遥控设备, 防止不同机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码,用于核对数据是否接收准确。

鼠标遥控码也是连续的32位二进制码组。红外线的传输效率不能满足鼠标报告率的要求。因此将鼠标数据进行压缩并包[7],使鼠标显示流畅,定位准确。由于鼠标遥控码随机性比较大,经测试可排除干扰的问题。

2 Android机顶盒接收端驱动

Android机顶盒通过IR模块接收到触摸屏红外遥控器发射的红外信号,然后对其进行解码,通过驱动程序传送给Android上层应用。驱动框架如图7。

为了简化传统驱动程序设计及便于对驱动模块管理与维护,采用了基于内核对象的输入子系统,完成了An- droid设备驱动框架[8]。改进了传统基于文件操作接口的驱动程序设计方法,提出了只需向系统报告输入事件的开发方法。

Android的输入子系统在内核中实现,包括核心层(Input Core)、事件处理层(Event Handler)和设备驱动层[9]。其中核心层与事件处理层都已由内核实现。现在只需实现设备驱动层,即通过调用内核提供的接口函数, 就可以完成驱动程序的设计。

设备驱动层主要实现向内核注册输入设备以实现输入设备模型,并提供将IR模块接收到的数据上报给核心层的方法[10]。

3关键技术

3.1手势识别算法

遥控器的手势识别算法基于BP神经网络算法[11]。 用户按照定义好的手势模型输入手势命令,比如上、 下、左、右等。由于每次采集到的触点坐标数目并不相同,因此需要进行预处理,保证每次触点坐标数目相同,保证输入量相同。然后对预处理后的触点坐标集合进行手势特征值的提取,将特征值作为神经网络的输入数据[12]。然后采集大量的手势样本,对神经网络进行训练,当训练结果可以接受后,把训练好的神经网络权值和偏差载入神经网络中,当用户输入一个命令手势时,通过对比神经网络计算结果,过滤出一个最匹配的手势命令,完成识别过程。手势识别实验数据如表1所示。

3.2鼠标数据压缩

鼠标数据主要是手指的相对位移值。每次在采集触点坐标的时候,连续采集N个触点坐标,取间距适当的触点。首先,判断移动方向,计算出两点之间的位移值;其次,计算X、Y轴的比值,得出鼠标信息的特征值;最后,根据X、Y的位移值大小以及屏幕的像素,给予相应的量度。根据移动方向,将移动方向、特征值、量度整合成一个数据结构,表示鼠标的一次移动。将多次的位移数据结构整合到一帧红外数据里,使一帧红外数据可以发送鼠标的多次位移数据,数据结构如图8,在Android机顶盒接收端对压缩后的鼠标数据进行解析还原,从而使鼠标移动流畅、定位准确。

4遥控器性能测试

分别使用触摸屏红外遥控器与传统按键式遥控器, 控制Android机顶盒,进行性能测试,如表2所示。在菜单、选项及一些通过方向键可完成操作的测试中,触摸屏红外遥控器与传统按键式遥控器表现不相上下,皆可流畅完成测试;但是在网页、Android应用程序等测试中,触摸屏红外遥控器比传统按键式遥控器操作灵活便捷,更适用于Android系统。

5结束语

上一篇:电气设备管理论文下一篇:计算机信息处理方法