手势遥控
作者:brother0952
现在的智能家居发展非常快,控制家电的方式多样化,从最初的机械按键,触摸按键,红外遥控,慢慢发展到蓝牙遥控,语音控制,现在再增加一个手势遥控,是不是也很酷呢。
正好st出品的这个高性能六轴传感器lsm6dsox非常适合,于是本次项目使用搭载该mems的sensortile.box实现这个手势遥控。
在st的blemlc例程上修改,屏蔽了蓝牙部分功能,嵌入unico生成的h文件,在串口打印识别出来的动作。主要工作内容在unico上编辑调试,生成h文件。
三、系统框图(图文结合)
主要实现了3个状态机,识别3种手势动作。
四、各部分功能说明(图文结合)
Unicleo-GUI调试过程:
下图是向左划动的识别
下图是向右划动的识别
下图是画圆动作的识别
链接: https://pan.baidu.com/s/1yjUXxY1ezCZhZfIRLhDyGg 提取码: ea7c
ucf文件在STM32L4R9ZI-SensorTile.box\Applications\BLEMLC 目录下
https://www.bilibili.com/video/BV1E5411Y7Br
画圆圈打印circle。
向左划和向右划都打印 left/right。
录视频的时候站着,手不是很水平,识别成功率变低了。平时坐着调试的时候成功率可以的。
待完善:
1手势太少,一个基本的空调遥控,包含开关机,模式选择,温度,风速,扫风等。
2读FSM的状态机寄存器,判断是哪一路中断这个没调通,目前只是用了外部中断的INT1打印circle,INT2打印left/right。
3识别成功率需要优化。
困难:
1 工具多而乱,而且bug不少。例如unico 支持fsm编辑,但是不支持sensortile.box;unicleo支持sensortile.box但是不支持fsm编辑。最后通过MKI106V3作为媒介,还好转出来的ucf文件,两个工具都适用。unico 的离线模式有bug,加载不了ucf。Debug模式运行非常慢。lsm6dsox没满足复位条件却莫名复位了。
2 资料少,难上手。lsm6dsox的规格书居然没有每条指令的功能说明,最后只能看<<ST可编程传感器.pdf>>,这还是ppt转出来的,非常简短。Github仅有几个例子,常年不更新。
收获:
初次接触st的可编程传感器,十分惊艳。学会了很多工具ST Visual Develop,ST Visual Develop,Unicleo-GUI,Unico,DfuSe,STM32CubeIDE,stblesensor的使用。以后开发这方面的产品是个很好的经验积累。
作品文档提交.pdf
(360.94 KB, 下载次数: 6)
汇总贴:
https://bbs.eeworld.com.cn/thread-1118480-1-1.html sensortile.box 初次接触踩到的坑
https://bbs.eeworld.com.cn/thread-1124458-1-1.html Unicleo 初体验
开发过程不太顺利,感谢管理员nmg,多次询问我进度,临急关头寄了一块MKI106V3过来,有了它才能正常使用unico编辑状态机;多次将我遇到的问题反馈给能人异士,顺利解决了不少问题,不然很可能完成不了项目。
|