作者 | e络盟社区成员 Shabaz Yousaf
前段时间与朋友聊天,谈起如何避免电梯按键上可能附着的细菌和病毒传到人的手指上。大家的手法各式各样,使用手背、指关节,甚至肘部去顶压按键。这让我对设备用户界面的设计产生了兴趣。随着技术的日益发展,室内照明已能通过光照等级来控制,也许有一天根本不再需要物理控制。系统知道何时应该打开或关闭,人们可通过语音命令对系统进行操控。随着语音控制变得普及,人们使用联网设备作为虚拟助手来控制家用电器也不再是什么新鲜事。
能够用来创建用户界面的优秀技术和产品不少。针对这个项目,我决定研究一下基于电容的方法。我曾使用德州仪器(TI)电容感测集成电路产品FDC2214做过一个测评项目。我一度着迷于研究它的灵敏度,曾利用一块大型金属板来感测路人或者半空中的擦手动作。测量结果非常精细,芯片可以检测到电容偏板之间的湿度变化!因此,我利用这个项目机会来进一步研究该芯片,看看能否开发出一套非接触式按钮,实现在空中进行虚拟按键操控的想法。
点击下面的视频,观看设计项目成果!空中按压操作意味着无论在室内还是室外,在进行选择或输入数字时,无需触碰装置表面。
它如何运作?
这个系统的核心是德州仪器(TI)FDC2214电容数字转换器部件,它可以在极高的分辨率下测量电容。待测电容通过并联电感器组装成谐振电路,TI芯片将测量振荡频率。如果电容改变,频率也会随之改变。TI芯片与一个微控制器相连,这个微控制器可以读取最多四个谐振电路的频率(因此可间接读取电容),它还可以在一秒钟内进行数百次测量。
为了将人类用户接入系统,需要待用户尝试在空中触摸虚拟按钮时对电容进行某些修改。我决定采用一种“自电容”方法,即将谐振电路的一端连接到一块金属板上。附近人员的手指会与身体产生一个电容,而身体会有一个对地电容。类似地,金属板将有一些对地电容。手指的出现带来的电容变化很小,但可被测得。传统的电容式触控传感器的测量方法不够精细或低噪音,而谐振电路频率测量的方法却有这些优势!即使在一定距离之外,手指的出现也会在被测电容中产生明显的差异。
下一步是弄清如何使用原始读数来检测空中按压动作。我决定使用一个ARM DSP库来对电容测量流执行快速傅里叶变换 (FFT)。FFT程序用于提取传入数据值流中的频率成分。其结果是一组与频率相关的存储桶。通过使用某个桶的内容,系统可以作为一种过滤器,从分析结果中删除恒定或变化缓慢的电容值。这样一来,系统就可以更可靠地检测到人手朝向或远离金属板的快速运动!它还几乎能消除所有的构建问题,因为电容变化是由算法输出,而不是与项目构建方式或其物理位置相关的静态值。
另一个问题是如何知道哪个按钮被按下,因为所有的传感器都是从远处检测电容变化。通过比较所有传感器的桶值并选择最大的一个,这个问题就迎刃而解了。
最后,我还需要确定数据采样率,此值在TI芯片上可以进行设置;在较高的采样率下,测量粒度较粗,但另一方面,较低的采样率意味着无法区分快速的手部移动。于是,我用数值做了一些实验并获得了想要的结果。
为了对这个系统进行编码,我将其拆分成两个子系统:一个用于支持TI芯片的测量结果,另一个用于处理数据分析。测量程序很简单:
分析器也很容易使用:
上述代码片段中的活动水平变量表示检测到的动作数量,即传感器是否在空中被按压。
使用Mbed 系统用于对项目进行编码,Github上提供了源代码,详见https://github.com/shabaz123/touchless-buttons。
构建和示意图
电容偏板尺寸的选用,我也是靠推测决定。我用了20 mm x20 mm的铝板,板间间隔为6mm。这意味着两个按钮中心相距26 mm。这和现有的典型户外按钮没什么区别,所以我认为这个解决方案可以进一步改良。为了求证这一想法,我查看了一个4x3矩阵的户外键盘,其按键间距为19 mm。因为我想尝试尽可能地贴近实际情况,所以演示模型是使用现有的户外金属键盘外壳(用于4x3户外键盘)构造的;前面板为3 mm厚的亚克力板;我还使用了一块反光的LCD屏幕,尽管它还需要一个透明保护罩,但优点是户外可见。
实际设计中可能要求在PCB铜板上蚀刻出形状,但我在项目设计中暂且使用的是铝板,这样一来,如果我误判了间距或尺寸,还可以移动调整。
至于微控制器板,我使用的是一块旧的Freescale/NXP FRDM-KL25Z板,但是几乎可以使用任何ARM Cortex-M芯片,因为FRDM板只有一个基本的Cortex-M0且没有很多资源。
LCD屏使用的是来自Aliexpress的LCD玻璃,结合来自NXP的I2C LCD驱动芯片。
测 试
为了确认产品可以在需要现有户外按钮的示例环境中运行,我把它置于窗台上架升至一个合适的高度(实际使用时它可以用螺丝固定在墙上),并使用USB移动电源进行测试。我还在室内进行了测试,由USB手机充电器和笔记本电脑USB电源供电。测试结果和户外应用效果都不错。它还可以进行进一步微调以适应特定应用。
这个项目采用电容方法实现了空中虚拟按键设计,能够在户外工作,并能对不同电容情况作出响应。我还想构建一个多芯片可扩展的系统,可以组装成8、12或16个传感器接口,以实现完整的数字输入。对于更多关键任务的数据输入,也可以使用“确认”或“取消”空中按键。
“安全无接触式虚拟按钮设计”是e络盟Project14- “抗击病毒”设计挑战赛获奖作品。e络盟Project14月度设计挑战赛由e络盟社区成员发起并面向所有社区成员。每期竞赛,e络盟社区成员将提议新的竞赛主题和理念,并通过公开投票的方式最终选定竞赛主题。Project14每期竞赛都尽量覆盖到最广大受众,以便业界新手、专家及各方能手能互相学习,并分享将创意转化为实际工程项目的途径与过程。更多信息,请访问:https://www.element14.com/community/community/project14。
e络盟其他福利也不要错过~
e络盟通过其在线社区(也即安富利旗下社区之一)为各阶段设计师、工程师和教育工作者打造专业知识资源平台,提供一对一支持和多种在线资源以帮助他们加强基础知识并拓展技能。
e络盟社区提供的一系列资源可为各阶人员提供支持:
•基础课程,适合已经拥有一定经验的学生。这些简短的在线自学课程能够让各年龄段的设计师按照自己的节奏方便地进行学习。课程涵盖电子学基础知识、技术和应用,既能帮助暑期学业退步的学生进行复习,也能为他们学习新技能提供入门指导。最热门课程包括连接器、物联网、传感器、可编程逻辑等概述。
•STEM学院,适用于寻找课堂项目和创意的教育工作者。STEM学院可提供电子和数码领域相关的学习理念和设计项目培训课程。
•学习电路视频系列,适合想在返校时复习和扩展电子知识的设计师。该系列视频趣味十足,涵盖了电子设计基础知识,并介绍了工程师需要掌握的一些基本组件。视频主持人Karen Corbeill还讲解了一些复杂的主题,例如电路基础、焊接概述、电阻器等。
•通过直播和点播讨论会及网络研讨会获得其他更多课程,涵盖电子应用、产品和技术,如3D打印、Raspberry Pi、Arduino、人工智能及物联网等。
3.软件神器TortoiseGit,让你优雅管理单片机程序版本!
来源:oschina
链接:https://my.oschina.net/u/4400968/blog/4533716