手机距离传感器原理_第1页
手机距离传感器原理_第2页
手机距离传感器原理_第3页
手机距离传感器原理_第4页
手机距离传感器原理_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录手势挥控功能原理及调试说明11、 结构示意图12、 手势识别原理及算法21. 手势识别原理22. 软件流程图23. 软件算法41)左右挥控手势42)按压手势54. 手势识别函数流程图63、 手势挥控功能调试方法71 .所需数据72 .需确定阈值、计数值的意义及确定方法7手势挥控功能原理及调试说明结构示意图图2纵切面图手势识别原理及算法1 .手势识别原理手势识别模块开启后,采用分时复用的方法,在一个时间片内只有发射装置1发射,此时接收传感器就可以用接收到的反射值S1来表示遮挡物与发射装置1之间的距离。反射值越大,距离越小。同理在下一个时间片内只有发射装置2发射,S2表示遮挡物与发射装置2之间

2、的距离。以10ms为周期扫描两个反射值,得到多组数据。根据这两个反射值的多组数据及其随时间的变化情况,计算挥控手势模式(左右挥动手势,按压手势)。2 .软件流程图手机开机3 .软件算法1)左右挥控手势图4左右挥控手势数据示意图左右挥控手势识别算法的基本原理为:手掌左右挥动时,从左右摆放的两颗发射装置上所得出的反射值均有从小到大再变小的过程,但是时间上会有间隔。若手掌由左向右挥动,则从左边发射装置上得出的反射值S1的最大值在前,而从右边发射装置上得出的反射值S2的最大值在后。如图4手势挥控数据示意图所示,分别设置发射装置1的高低阈值PS_TH_L_LED和PS_TH_H_LED似及发射装置2的高

3、低阈值PS_TH_L_LED和PS_TH_H_LED2S1曲线与发射装置1的高低阈值四个交点的时间分别是t1,t2,t3,t4。则S1峰值的时间坐标为T1=(t1+t2+t3+t4)/4.同理可得出S2峰值的时间坐标T2.若T2>T1则挥控动作为从左到右,反之为从右到左。2)按压手势图4按压手势数据示意图判别按压手势时只用一个发射装置(LED1),得出反射值S1。做按压手势时S1随时间的变化趋势是逐渐变大,据此可以得出手势信息。为了使按压手势与左右挥控手势区分开来,设置低中高三个阈值。PS_TH_L_LED伪低阈值,同时也为中断阈值。PS_TH_L_D1为中间阈值。PS_TH_H为最高阈

4、值。左右挥控手势时S1不可能达到此值。按压手势的得出需要满足以下两项条件:一是S1需要在低阈值和中间阈值之间停留足够长时间(PS_TH_T)二是S1需要大于最高阈值PS_TH_H设置中间阈值的作用主要是识别S1由小到大的变化情况,排除手掌长期停留在发射LED上方引起的误判。为了防止按压手势完成后将手拿开的过程中将此动作识别为左右挥控手势,同时为了实现识别出按压手势后只报一次手势信息,设置标志位(pre_zoom_flag),此标志位在上次识别为按压手势后置一,置一期间中不判别手势信息。直到S1值小于最低阈值PS_TH_L_LED后此标志位才清零,开始判别手势信息。4,手势识别函数流程图hq_d

5、ps_task.c文件hq_dps_task_main函数中调用手势挥控功能调试方法1 .所需数据1)读取无障碍物遮挡时两个发射LED的反射值(即底噪)。得出一组数据,称为数据1.2)做左右挥控手势,读取两个发射LED的反射值S1,S2得出一组数据,称为数据2。3)做按压手势,读取发射LED1的反射值S1,得出一组数据,称为数据3。S1和S2分别存放在数组ps_1data_count,和ps_2data_count中。将这两个值用trace打出,以便分析调试;hq_print("rn%-5dt%-5dt%-5dtrn",data_count,ps_1data_count,p

6、s_2data_count);2 .需确定阈值、计数值的意义及确定方法左右挥控手势阈值:1) PS_TH_L_LED1发射LED1的低阈值,同时也是中断阈值。此值需要比上述数据1中的最大值略大(大10左右)。2) PS_TH_H_LED1发射LED1左右挥控手势的高阈值。此值需要比上述数据2中S1的最大值略小(小20左右)。上述两个值的确定原则是:如图4所示,表示PS_TH_L_LED伟口PS_TH_H_LED1的横线表示S1的抛物线均需要有两个交点。3) PS_TH_L_LED2发射LED2的低阈值,同时也是中断阈值。4) PS_TH_H_LED2发射LED2左右挥控手势的高阈值。阈值3)、

7、4)的确定方法同1)、2)。S1>PS_TH_L_LED或S2>PS_TH_L_LED时接收传感器均可产生一个下降沿中断。如图4所示,发射LED1的反射值S1与高低阈值分别有4个交点;同理发射LED2的反射值S2与高低阈值也分别有4个交点。只有这8个点全部存在,才可以正确计算出左右挥控手势信息。按压手势阈值:5) PS_TH_H发射LED1按压手势的高阈值。此值需要比上述数据3的最大值略小(小10左右),同时一定要大于PS_TH_H_LED1和PS_TH_H_LED2因为左右挥控手势时距离的最小值不可能小于按压手势时的最小值。6) PS_TH_L_D1发射LED1按压手势的中间阈值。此值需要比PS_TH_H略小(小20左右),主要用于识别按压手势时反射值S1随时间由小及大的变化情况。时间计数值:(只需微调)7) DATA_MAX手势识别时间计数值,默认为200。即做一个左右挥控手势最长时间为200*10ms=2S,超过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论