ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:57.50KB ,
资源ID:486744      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/486744.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2023年简单手势唤醒便携设备的设计方案.doc)为本站会员(13****k)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

2023年简单手势唤醒便携设备的设计方案.doc

1、简单手势唤醒便携设备的设计方案 导读: 本文讨论如何唤醒平板等触控装置,无需接触设备,而是采用根本的手势识别及新颖的接近检测传感器。本文讨论了相关设计的物理布局、速度限制、检测门限、系统集成,以及人为因素的影响;给出了软件实时的例程。 厨房里的突发奇想如果做饭时使用触控设备,您可能会注意到按照设备列出的食谱烹饪并非想象得那么简单。技术达人例如鄙人走进厨房时,喜欢看着平板或智能 上的菜谱做饭。您可能会说:“好吧,这有什么难度?由于屏幕始终开启会消耗很大电量,通常手持装置在1、2分钟后没有操作时将自动进入休眠状态。那么,当您需要参照食谱时,设备已进入休眠状态。此事,您面临两个选择:要么强制屏幕保持

2、永久开启;要么用沾满食物的手开启装置,而在屏幕上留下斑斑油渍。当然,您可以在每次查看时把手清洗干净,但不断重复洗手、擦干即繁琐,又费水。我时常问自己:“怎样才能既不让屏幕始终开启,又不会弄脏装置?实际上,有一种方法一举两得,即通过一个手势不用接触屏幕开启显示屏。听起来似乎很复杂,是吗?幸运的是,做起来可能比听起来容易一些。接近检测传感器传感器资料点击E讯网许多触摸屏装置,尤其是智能 ,内部已经安装了红外IR接近检测传感器。这些传感器一般在通话期间自动翻开/关闭屏幕,以防止意外操作 的输入界面。这种传感器技术,加上精明的软件设计,就能实现利用一个手势唤醒装置的功能。根本的设计思路是:设备进入休眠

3、状态时,触摸屏关闭,应用处理器处于低功耗模式,依靠接近检测传感器“观察背景的变化,当接收到的信号足够大时,做出适当反响。这与接近检测传感器在通话期间关闭屏幕的功能几乎完全相同。只是,我们的应用对数据有了不同的解释。首先记录传感器在“正常背景下的计数值,此时得到的数值可能为零,但实际设计中需要考虑系统失调例如:散射或串扰。然后将得到的数值设置为检测门限,当接收信号超过门限时触发中断或向应用处理器发送信号,以唤醒系统并翻开屏幕。总体而言,这种方法非常简单、直观,可利用环境光检测器和IR接近检测传感器实现。本文介绍的方案采用MAX44000,接近检测的数据读取时间间隔可以设置在1.56ms至100m

4、s 与环境光检测传感器轮流读取数据。假设最大检测距离为10cm,LED的辐射角为15,那么,可以覆盖的面积大约为22cm2或跨距大约为5.35cm,只有该区域内的移动目标才能捕捉到。由此,能够以最慢即最低功耗的采样速度可靠检测的最快手势动作大约为0.53mps.在此,我们还假设传感器只需要采集到一次高于门限的信号,即可识别经过覆盖区域的目标。举手之劳理论上讲,该方案的实施非常简单。当装置进入休眠模式时,将接近检测传感器置为环境扫描模式,并在检测到目标时发出中断信号,指示捕捉到超过预设门限的信号。可通过I2C接口轮询传感器的状态。不幸的是,这种方式会消耗过大功率,超出了大多数用户的预期。这也是接

5、近检测传感器的设计重点,MAX44000传感器能够在许多方面摆脱应用处理器的干预,减轻处理器负荷降低功耗。使能MAX44000的内部接近检测中断存放器0x01的第1位,可将唤醒门限写入内部存放器0x0B和0x0C。当接近检测传感器的读数超过该门限时,触发中断标识置位,将MAX44000的/INT引脚置为低电平。当应用处理器检测到该引脚驱动为低电平时,可唤醒装置退出低功耗模式,并翻开屏幕,或完成其它需要的动作。但不容无视实际应用往往不如理论那么容易,非接触唤醒的具体实施并非只是简单地检测高于门限的信号。实际上,具体的设计需要考虑诸多因素。信号电平与电路布局最关键的考虑应该是触发唤醒条件的信号电平

6、,需要在系统响应灵敏度与误报概率之间进行权衡。如果门限过低,那么很容易检测到输入手势工作,但会增大瞬态噪声或突发条件产生误报的概率。反之,过高的检测门限能够把误报概率降至几乎为零,但却只能检测到非常接近的目标,甚至对任何输入即使您疯狂晃动手臂都反响迟钝。解决这一问题的最正确方式是:首先降低系统噪声,可以通过光学方法或严谨的电路布局实现,降低的噪底有助于降低误报概率;其次,选择“平均检测距离例如:4cm至5cm并利用参考目标测量信号,18%的灰板比拟理想,但如果触摸屏上方安装了黑色玻璃,测量时也应该使用这样的玻璃,所测得的信号电平可以作为设置门限的最正确参考。通常可以遵循这样的原那么:即将电平设

7、置在满幅的8%至15%,即使电平发生变化。可以按照上述经验数据设置MAX44000传感器的接近检测门限存放器,图1所示为信号强度随距离变化的关系曲线,采用18%灰板,驱动电流为100mA,传感器上方没有玻璃罩。蓝线为可以选择的唤醒门限。 图1. MAX44000接近检测传感器信号强度随距离变化的关系曲线,采用18%灰板,100mA驱动电流,没有玻璃罩噪声和低通滤波需要考虑噪声问题时,可利用低通滤波器处理信号;另外,MAX44000还有几个控制位可以用作触发中断标识之前的屏蔽,采用这种设置时,需要检测到一定数量超出门限的采样值时才会触发中断标示,能够在一定程度上降低噪声的影响。一种稍微复杂的方法

8、是将传感器的读数储存在数据队列中,然后利用定制的FIR软件对其进行滤波处理。但这种方法需要提高接近检测传感器的采样速率,否那么那么会降低能够捕捉到的传感器可视范围内的手势动作速率,特别是把采样速率设置在100ms时。利用器件的控制位屏蔽检测时,速率可最多降低16倍通常选择4x屏蔽即可。手势速度手势动作的快慢是我们需要考虑的另一因素。最大速度取决于:1. 传感器的可视范围;2. 手与传感器之间的距离;3. 采样率;4. 检测门限。前两项很容易确定:传感器的检测角度,结合传感器与目标之间的距离,利用根本的三角形即可计算出传感器可视范围内目标的移动距离。例如,如果传感器的视角为30度,最大有效检测距

9、离10cm,那么,传感器可视范围内允许的目标移动距离为5.35cm,覆盖面积大约为78cm2.直线距离结合采样率,即可决定速度限值。 具体地说,如果采样率为T,那么目标跨越可视区域的时间不得小于T.例如,如果T为100ms MAX44000的最低采样速率,那么按照上例,理论上最大允许的速率为1mps 这实际上已经相当快了。您可能希望捕获到多个采样值来确认触发唤醒,这样的话,会降低允许的速率下限。检测门限也影响最大允许速率。一般来说,门限越低,能够捕捉到的手势动作就越快。如上所述,应谨慎选择门限,以免产生误报。人为因素这种应用还会受到人手以及挥手动作等人为因素的影响。应通过一些案例确定一般大多数

10、人的习惯,包括他们在屏幕前挥动手掌的速度以及与屏幕之间的距离,另外,是否戴手套也会产生一定的影响。不同的应用场合不同装置也会影响到设计需求,例如智能 、平板或汽车仪表盘,对存在具体的设计考虑。当然,设计过程中还应考虑用户界面和经验参数。最后,还要对真假手势做出判断,即装置需要判断接收到的信号是来自于一个手势动作,还是简单的装置移动例如:放置在外套、口袋或背包中,或者是屏幕朝下放置。单纯依靠上述检测原理,很难做出正确的“真伪鉴别,除非在装置内提供更多的背景信息。关于这一问题的讨论超出了本文范围。设计中可以选择只有装置进入特定的应用程序时启动唤醒方案,也可以由用户手动操作使能。此外,许多此类装置都

11、有一个加速度传感器,能够检测到屏幕是否反面朝下放置。如果用户手动将装置置于休眠模式,那么可禁用该功能例如关机状态。设计实例为方便起见,本文附带了三段演示程序代码。第一段代码用于手动操作MAX44000的接近检测数据读取,概念上简单实现唤醒功能;第二段代码在第一段的根底上进行了扩展,增加了之前讨论的滤波功能;最后一段代码演示利用MAX44000中断唤醒触控装置。例如代码1_interrupt void TimedInterrupt void uint8 proximity_counts;if device_status = SLEEP_MODE / read one byte from regi

12、ster 0x16proximity_counts = read_i2c_registerMAX44000_ADDR,0x16,1;if proximity_counts WAKEUP_THRESHOLDdevice_status = WAKE_MODE;else/ do whatever it is you need to in sleep mode 例如代码2/ example interrupt function where this might be implemented_interrupt void TimedInterrupt void uint8 proximity_count

13、s;uint8 filtered_counts;if device_status = SLEEP_MODE / read one byte from register 0x16proximity_counts = read_i2c_registerMAX44000_ADDR,0x16,1;/ weightsQUEUE_SIZE contains the filter weights for the FIR filter/ data_queueQUEUE_SIZE is a FIFO queue meant to be the input to the filterfiltered_counts

14、 = fir_filterproximity_counts,weights,data_queue;if filtered_counts WAKEUP_THRESHOLDdevice_status = WAKE_MODE;else/ do whatever it is you need to in sleep mode/xxx fir_filterxx Implements an FIR filter in the formx y = w0xx0 + w1xx1 + + wQUEUE_SIZExxQUEUE_SIZExx Arguments:x uint8 input - newest datapoint taken that is, x0x uint8 xweights - w0wQUEUE_SIZEx uint8 xqueue - the discrete sequence x0xQUEUE_SIZExx Returns:x The FIR-filtered output, yx/uint8 fir_filteruint8 input, uint8 xweights, uint8 xqueueuint8 i;int sum = 0;

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2