新闻  |   论坛  |   博客  |   在线研讨会
三轴传感开发捷径:exvib库助你从新手直达专家!
13673998452 | 2025-09-18 13:32:44    阅读:58   发布文章

无论你是初涉传感领域的新手,还是寻求进阶的开发者,exvib扩展库提供从入门到精通的全流程支持。极简API设计将复杂逻辑封装为直观接口,三轴传感开发无需漫长学习曲线,一键开启高效精准的检测之旅。

 

一、exvib库典型应用及检测模式

1.1 三种典型应用

exvib.open(mode)接口针对三种典型应用场景提供了不同取值,可以根据自己的应用场景进行选择,也可以自己对扩展库的值进行修改。

微小震动检测:用于检测轻微震动的场景(例如:用手敲击桌面);加速度量程2g。
 

运动检测:用于电动车或汽车行驶时的检测,人行走和跑步时的检测;加速度量程4g。

跌倒检测:用于人或物体瞬间跌倒时的检测;加速度量程8g。

 

1.2 两种震动检测模式

持续震动检测模式:震动强度超过设定阈值时,会进入中断处理函数,获取xyz三轴的数据;

有效震动模式:当10秒内触发5次震动强度超过设定阈值时,持续触发震动事件,并执行相应的处理函数,30分钟内只能触发一次,直到30分钟之后,再重新开始检测。

实际应用中,也可以根据项目需求自己修改相关代码。

 

二、exvib库应用示例


本文以Air8000开发板为例,分享exvib库三轴加速度传感器的震动触发功能应用要点。
 

最新源码下载:https://gitee.com/openLuat/LuatOS/tree/master/module/Air8000/demo/vibration 

实操教程详见:https://docs.openluat.com/air8000/luatos/app/gsensor/  


 

2.1 示例代码解析

1)main.lua

程序主入口,主要用于加载vibration模块。



2)vibration.lua

加载了exvib库,开启task协程,调用exvib.open(1)接口开启震动检测模式:

微小震动检测,设置gpio.WAKEUP;

防抖100ms,防抖的作用是100ms只能触发一次,防止误触;

然后设置中断模式触发。

关于触发方式,这里提供了两种应用:

第一种是持续震动:只要检测到震动,就会一直触发;

第二种是有效震动:在10秒内检测到5次震动,则判定为有效震动;有效震动触发之后,30分钟之后才能再次触发。

有效震动的判断逻辑:示例使用循环定时器的方式每秒都把tick值+1,每次触发震动则记录tick值到表里面,然后对表里面的最后一次触发的tick和第一次触发的tick进行对比——如果小于10并且第五次的值为有效值,就判定为有效震动。

也可以根据实际情况,改为自己项目的有效震动逻辑。



2.2 示例效果展示

Air8000开发板通过LuaTools烧录内核固件和demo脚本代码,烧录成功后开机运行,查看示例运行结果。


1)有效震动模式日志:


2)持续震动模式日志:


今天的内容就分享到这里了~


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客