本文评论怎么唤醒平板电脑等触控设备,无需触摸设备,而是选用根本的手势辨认及新颖的挨近检测传感器。本文评论了相关规划的物理布局、速度限制、检测门限、体系集成,以及人为要素的影响;给出了软件实时的例程。
厨房里的突发奇想
假如煮饭时运用触控设备,您或许会注意到依照设备列出的食谱烹饪并非幻想得那么简略。技能达人(例如不才)走进厨房时,喜爱看着平板电脑或智能手机上的菜谱煮饭。您或许会说:“好吧,这有什么难度?”因为屏幕一直敞开会耗费很大电量,一般手持设备在1、2分钟后没有操作时将主动进入休眠状况。那么,当您需求参照食谱时,设备已进入休眠状况。此事,您面对两个挑选:要么强制屏幕坚持永久敞开;要么用沾满食物的手敞开设备,而在屏幕上留下斑斑油渍。当然,您可以在每次检查时把手清洗洁净,但不断重复洗手、擦干即繁琐,又费水。
我经常问自己:“怎样才干既不让屏幕一直敞开,又不会弄脏设备?”实践上,有一种办法一箭双雕,即经过一个手势(不必触摸屏幕)敞开显示屏。听起来好像很杂乱,是吗?走运的是,做起来或许比听起来简略一些。
挨近检测传感器
许多触摸屏设备,尤其是智能手机,内部现已安装了红外(IR)挨近检测传感器。这些传感器一般在通话期间主动翻开/封闭屏幕,以防止意外操作手机的输入界面。这种传感器,加上精明的软件规划,就能完结运用一个手势唤醒设备的功用。
根本的规划思路是:设备进入休眠状况时,触摸屏封闭,运用处理器处于低功耗形式,依托挨近检测传感器“调查”布景的改变,当接纳到的信号足够大时,做出恰当反响。这与挨近检测传感器在通话期间封闭屏幕的功用简直完全相同。仅仅,咱们的运用对数据有了不同的解说。
首要记载传感器在“正常”布景下的计数值,此刻得到的数值或许为零,但实践规划中需求考虑体系失调(例如:散射或串扰)。然后将得到的数值设置为检测门限,当接纳信号超越门限时触发中止或向运用处理器发送信号,以唤醒体系并翻开屏幕。整体而言,这种办法十分简略、直观,可运用环境光检测器和IR挨近检测传感器完结。
本文介绍的计划选用MAX44000,挨近检测的数据读取时刻间隔可以设置在1.56ms至100ms (与环境光检测传感器轮番读取数据)。假定最大检测间隔为10cm,LED的辐射角为±15°,那么,可以掩盖的面积大约为22cm2或跨距大约为5.35cm,只要该区域内的移动方针才干捕捉到。由此,可以以最慢(即最低功耗)的采样速度牢靠检测的最快手势动作大约为0.53mps。在此,咱们还假定传感器只需求收集到一次高于门限的信号,即可辨认经过掩盖区域的方针。
举手之劳…
理论上讲,该计划的施行十分简略。当设备进入休眠形式时,将挨近检测传感器置为环境扫描形式,并在检测到方针时宣布中止信号,指示捕捉到超越预设门限的信号。可经过I2C接口轮询传感器的状况。不幸的是,这种办法会耗费过大功率,超出了大多数用户的预期。
这也是挨近检测传感器的规划要点,MAX44000传感器可以在许多方面脱节运用处理器的干涉,减轻处理器负荷(下降功耗)。
使能MAX44000的内部挨近检测中止(寄存器0x01的第1位),可将唤醒门限写入内部寄存器(0x0B和0x0C)。当挨近检测传感器的读数超越该门限时,触发中止标识置位,将MAX44000的/INT引脚置为低电平。当运用处理器检测到该引脚驱动为低电平时,可唤醒设备退出低功耗形式,并翻开屏幕,或完结其它需求的动作。
…但不容忽视
实践运用往往不如理论那么简略,非触摸唤醒的详细施行并非仅仅简略地检测高于门限的信号。实践上,详细的规划需求考虑许多要素。
信号电平与电路布局
最要害的考虑应该是触发唤醒条件的信号电平,需求在体系呼应灵敏度与误报概率之间进行权衡。假如门限过低,则很简略检测到输入(手势作业),但会增大瞬态噪声或突发条件发生误报的概率。反之,过高的检测门限可以把误报概率降至简直为零,但却只能检测到十分挨近的方针,乃至对任何输入(即便您张狂晃动手臂)都反响迟钝。
处理这一问题的最佳办法是:首要下降体系噪声,可以经过光学办法或谨慎的电路布局完结,下降的噪底有助于下降误报概率;其次,挑选“均匀”检测间隔(例如:4cm至5cm)并运用参阅方针丈量信号,18%的灰板比较抱负,但假如触摸屏上方安装了黑色玻璃,丈量时也应该运用这样的玻璃,所测得的信号电平可以作为设置门限的最佳参阅。一般可以遵从这样的准则:行将电平设置在满幅的8%至15%,即便电平发生改变。
可以依照上述经历数据设置MAX44000传感器的挨近检测门限寄存器,图1所示为信号强度随间隔改变的联系曲线,选用18%灰板,驱动电流为100mA,传感器上方没有玻璃罩。蓝线为可以挑选的唤醒门限。
图1. MAX44000挨近检测传感器信号强度随间隔改变的联系曲线,选用18%灰板,100mA驱动电流,没有玻璃罩。
噪声和低通滤波
需求考虑噪声问题时,可运用低通滤波器处理信号;别的,MAX44000还有几个操控位可以用作触发中止标识之前的屏蔽,选用这种设置时,需求检测到必定数量超出门限的采样值时才会触发中止标明,可以在必定程度上下降噪声的影响。
一种略微杂乱的办法是将传感器的读数贮存在数据行列中,然后运用定制的FIR软件对其进行滤波处理。但这种办法需求进步挨近检测传感器的采样速率,不然则会下降可以捕捉到的传感器可视规模内的手势动作速率,特别是把采样速率设置在100ms时。运用器材的操控位屏蔽检测时,速率可最多下降16倍(一般挑选4x屏蔽即可)。
手势速度
手势动作的快慢是咱们需求考虑的另一要素。最大速度取决于:1. 传感器的可视规模;2. 手与传感器之间的间隔;3. 采样率;4. 检测门限。前两项很简略承认:传感器的检测视点,结合传感器与方针之间的间隔,运用根本的三角形即可计算出传感器可视规模内方针的移动间隔。例如,假如传感器的视角为30度,最大有用检测间隔10cm,那么,传感器可视规模内答应的方针移动间隔为5.35cm,掩盖面积大约为78cm2。直线间隔结合采样率,即可决议速度限值。详细地说,假如采样率为T,那么方针跨过可视区域的时刻不得小于T。例如,假如T为100ms (MAX44000的最低采样速率),那么依照上例,理论上最大答应的速率为1mps (这实践上现已适当快了)。您或许期望捕获到多个采样值来承认触发唤醒,这样的话,会下降答应的速率下限。