当前位置:首页 > 智能硬件 > 智能硬件
[导读] 近年来,多点触控(Multi-Touch)成为了代替人机交互传统方式的新方式。它抛弃了键盘,鼠标,实现了多人同时交互,是人机交互的一场革命性创新。但可惜的是,该项技术还处在初级阶段,Multi-Touch的产品很多还只是面向

 近年来,多点触控(Multi-Touch)成为了代替人机交互传统方式的新方式。它抛弃了键盘,鼠标,实现了多人同时交互,是人机交互的一场革命性创新。但可惜的是,该项技术还处在初级阶段,Multi-Touch的产品很多还只是面向高端或军工用户,价格十分高昂。这对广大消费者来说都是不能承受的。此外,目前基于Multi-Touch应用的软件业相当较少,且大多数停留在游戏娱乐的功能上,这样也限制了该技术的发展和应用。

为此,将Multi-Touch技术应用低廉化、市场化,就显得十分紧迫。考虑到Multi-Touch新鲜而高效的人机交互的方式,我们将其应用在日常的办公生活中,为广大的办公室人群提出了一套提高工作效率、增加工作乐趣的Multi-Touch应用解决方案。

多点触控智能家居平台

一,FTIR原理简述

作为Multi-Touch最初的被提出的实现方法,FTIR(Frustrated Total Internal Reflection,受抑全内反射)一直是最热门和被研究得最透彻的实现方法。其原理是在较厚的透明有机玻璃侧面放置红外LED,使红外光在玻璃内部产生全反射,当有手指触碰到有机玻璃表面时,全反射的平衡会被打破,于是会有部分的光散射到下面来,从而被摄像头捕捉到。由于有机玻璃是全透明的,在有机玻璃上部或下部还要附上一层背投影屏幕。综合来看,虽说效果不错,但此方案因为要合理地调整侧边入射的灯,且对材料的要求也很高,所以实现过于复杂。

图一

二、DI原理简述

DI的原理最初由微软提出,其实现原理见图2。图中,用户接触的平面不一定用有机玻璃,而整个技术的关键在于屏幕下方的红外散射光源,此光源将红外光均匀地散射在多点触摸屏的一面,当手指触碰到表面后,由于手指挡住了光向上散射的路线,此时在图像中会有一个阴影出现。经过进一步的图像处理,就可以提取有关手指的位置信息。

图二

具体实现上,DI可以变得简单一些。图1所示的是Back DI(背投光DI)的原理,可以看到红外光从下方入射。这种Back DI的好处是光源在触摸屏下面,可以自己控制,并且可以合理控制红外光的亮度;它不仅仅实现阴影捕捉,更可以实现物体识别。但是,这种方案需要合理摆放红外LED的位置,并且保证所有的红外LED的亮度几乎一致,还要达到最理想的均匀光照的效果,所以实现的难度很大。

实际操作中,我们尝试了一种Front DI(外光DI)的方案。与Back DI相反,Front DI负责采集的红外光来自触摸屏外。同样,由于手指的遮光作用,也会捕捉到阴影。虽说没有Back DI那样那样高清的分辨能力,但对于桌面应用,已经足够。

分析和实践了FTIR实现方案后,考虑到产品的成本和复杂度,我们尝试了DI的方案,效果较理想,而且DI的价格便宜,系统简单,更易于组装和实现。于是最终作品选用了DI的方案。

三、系统组成结构

整个系统主要有四个部分组成:PC,摄像头模块,投影仪及用户的桌面。总的说来,该系统硬件组成比较简单,摄像头原型使用罗技的一款高清摄像头产品,经过去除可见光滤光片并加装红外滤光片后,供系统采集手指位置信息,而投影仪作为显示部分,选用了爱普生的EB-X7。外框上,我们自行设计了平台的框架的组成结构和各部件的安装与工作方式。

四、软件部分

4.1 软件概述

在系统设计中,我们选择采用C#进行编写程序,将手指触摸事件用UP,DOWN,MOVE分别表示手指接触触摸屏,在触摸屏移动,离开触摸屏三个事件,并利用CCV来编写整个触摸屏的手指识别程序,并封装成动态链接库,方便后续程序的调用。

CCV(Community Core Vision)是一款解决计算机视觉和机器感应的开源/跨平台的软件。可识别出因为碰到手指而反射回来的红外光,在经过数据处理是图像更为清晰,再将事件传递给已编写好的DLL动态链接库文件,从而使软件识别出具体的手指动作。

用户可以在显示缓冲区上通过绘图绘制图形。图形系统使用了GDI+,GDI+提供了较为强大的绘图功能,这比较适合本系统提供的应用。可以通过一个函数提供获得GDI+绘图对象的指针。显示缓冲区在用户绘制完成后要更新到父窗口以最终显示到屏幕上。

每个消息处理队列都对应一个独立的消息处理线程,负责处理各种事件,特别是用户操作事件。事件以消息的方式发送到消息处理队列中,消息处理线程从队列中取出消息,处理后返回。消息发送有两种模式,一种是发送后返回,另一种是发送后等待消息处理完后再返回。消息处理线程直到窗口关闭才被销毁。消息队列是窗口系统具有了多线程的特性,可以使多个窗口在英特尔双核处理器上同时工作,大大提高了窗口的性能,特别是多个用户同时执行复杂操作的时候,可以大大提高并行能力。

消息队列的操作是互斥的,每次仅有一个线程能够对其中的元素进行添加删除操作。所以就需要一个锁的机制来保护。

对于用户操作,父窗口将位于子窗口内的用户操作通过消息的的方式发送给子窗口,这样一级一级地传递下去。特别需要介绍的是手指消息,手指消息分为手指放下、手指移动和手指离开,窗口通过消息参数中的手指ID实现不同手指的识别。

多个手指的操作基于一个窗口维护的活动手指表,标准记录了所有绑定在这个窗口上的手指。该表通过平衡二叉树实现,以提高速度。

本系统设计的窗口可以以任意角度旋转,这样可以支持从各个角度观看的用过户,以适合小型会议的需要。窗口内置支持一种环形的菜单,这种菜单通过一个消息通知窗口用户的选择。窗口另外支持键盘操作,键盘通过字符消息通知窗口。

4.2 应用功能

4.2.1 白板

白板作为会议中常用的功能,特别是在与设计有关的会议中,如果设计人员能够面对面地讨论,并在白板上表达自己的看法是非常有效的,传统的纸质白板能够提供多人讨论的环境,但不能够方便地修改设计,而一般的网络白板能够提供交流的平台,却不能够让很多人聚在一起讨论并同时操作。Multi-Touch技术完美地解决了它们存在的问题,给人们一个可以充分交流的平台。

4.2.1 虚拟键盘

在应用当中,用户不仅仅需要画图,在很多情况下需要打字,这是只有白板功能就不能满足客户打出标准汉字的要求,所以添加了虚拟的触摸键盘,可以在触摸屏上利用键盘输入文字,触摸键盘还带有搜狗输入法,可以输入中文汉字。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭