本帖最后由 二哲科技 于 2023-1-30 09:23 编辑
1.介绍
本次设计采用的是贸泽给准备的【Silicon labs-BGM220-EK4314A】开发板,准备制作一个手势识别的Demo,在多方对比下选择了ADXL345传感器模块,手势识别可以选择直接对三轴数据进行分析,可以采用神经网络来进行分类。这次选择直接分析三轴数据,然后得出手势结果,最终显示在OLED屏幕上。
2.设计
【Silicon labs-BGM220-EK4314A】开发板是一款芯科生成的开发板,他有自己的IDE环境,安装环境其实费了不少的时间,主要是下载安装包和下载芯片SDK。开发板的资料可以直接在IDE中打开,原理图、例程等。
图1 Simplicity Studio
【Silicon labs-BGM220-EK4314A】是一款蓝牙开发板,开发板自带JLink下载器,安装完IDE好像就可以直接下载程序。
图2 BGM220-EK4314A开发板
由于【BGM220-EK4314A】是一款蓝牙芯片,似乎也都是关于蓝牙的,并没有其他外设的驱动例程。其中还有FreeRTOS例程,正好就可以用这个例程作为代码的基础框架。在这个基础框架上,需要编写OLED和ADXL345的驱动程序和手势识别程序。
移植OLED代码比较简单,移植ADXL345的驱动代码还是遇到了一些问题,不过最终还是解决了,并完成了手势识别的功能。
OLED的默认界面如下图3。
图3 OLED默认界面
当按下开发板的用户按钮时,开始识别手势。同时屏幕会显示【detecting】提示符号。
图4 检测中的界面
大概需要检测2秒钟,在这个过程中,可以用手拿着传感器画圆,或者画叉,当2秒时间后,会识别出手势的结果。
图5 画圆检测结果界面
图6 画叉检测结果界面
图7 不动检测结果界面
3.总结
刚开始觉得Silicon labs提供的Simplicity Studio IDE软件并不好用,主要是因为不够熟悉,当遇到问题调试找资料等,发现还是不错的,这次手势识别只是做了一个简单的数据识别,如果只要求做那圆和叉的动作,识别率还是不错的。好了,这次手势识别Demo设计就到这里了,感谢大家观看,也欢迎大家提出意见~
|
围观了解一下,学习学习。