single click, double click

本文详细介绍了LIS3DH芯片如何利用加速度变化识别单击和双击功能,涉及相关的阈值寄存器和时间窗口设置。通过示例解释了单击检测的条件,以及双击识别需要满足的额外时间窗口要求。还分享了实战中设置时间窗口和阈值的技巧,以及如何根据应用需求平衡识别率和误触发率。
摘要由CSDN通过智能技术生成

LIS3DH芯片集成了单击和双击的功能,这给很多应用提供了便利,例如在穿戴设备上,不但减少了布置按键给小巧的结构设计带来的挑战,对于用户来说,这种更大自由度的操作方式更是一种愉悦的享受。下面具体介绍下这个功能吧。

要了解这两个功能的设置,需先了解下相关的寄存器:

这里有一个阈值设置的寄存器,和三个时间的窗口设置的寄存器(timelimit , time latency, time window). 后面在介绍single click 和double click 时会讲到他们分别的作用。

一  Single click

如下图,sensor通过检查加速度的变化是否有超出预先定义的阈值,然后在规定的时间内(time limit)又是否小于此阈值来判断一个single click 的动作,阈值和时间(time limit)就定义了加速的的变化波形。下图中,a 同时满足了阈值和时间限制的条件,是一次成功的动作的识别,然后产生了中断。b只满足了大于阈值的条件,但在规定时间限制内没有降到阈值下,所以不满足识别的条件。

二 Double click

如下图,double click实际上是两个singleclick的识别,但是同时还要满足另外两个时间窗口的要求(timelatency , time window).当第一click识别后,在time latency 窗口内,sensor不会做任何识别,在time window 窗口内开始第二click的识别,判断此时的加速度值是否大于阈值,如果成功识别到第二次click,就会产生一个中断输出一个doubleclick 的事件。

实战技巧:

1)时间窗口的设置,寄存器每个最小的时间单位是LSB=1/ODR(output data rate) , 假设ODR是100 HZ,那最小的时间单位就是10ms,假设你要设的时间是t,那对应的寄存器就要设置为X=t/(1/100).

2)阈值的设定是与量程相关的,1LSB= FULL SCALE/128.

3)数据的采集,为了设置合理的时间窗口和阈值,要进行数据的收集,因为不同的应用,结构,材料可能不同,导致最终敲击的波形会有一些差异,建议收集数据时采用系统能支持的最大采样频率,这样采集的数据才能完整反映实际的波形。如下图是一个双击的波形图。可以看出波形比较尖锐,latency窗口比timelimit 窗口要明显的大。

 

4) 根据设计的要求合理评估识别率与误触发率,最终配置合理的参数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值