Funpack第九期 SensorTile.box 任务一
此项目完成了Funpack活动第九期任务一,通过用不同的面实现测量显示不同的数据
标签
嵌入式系统
相伴左右
更新2021-06-24
652

Funpack第九期 SensorTile.Box

实现功能

       本次Funpack活动指定了三个任务,分别是

  • 实现使用box不同的面实现不同的测量功能。
  • 搭建可随身携带的环境监测系统,记录一段时间的环境数据,并导出查看(要求解释数据的变化)。
  • 使用神经网络系统,实现特定声音检测功能。

综合考虑选择了本次活动的任务1,使用SensorTile.Box的四个面实现测量四种不同的数据并使用图形化同居显示出来。

      面1,测量桌面倾斜程度;

       面2,测量温度;

       面3,测量湿度;

       面4,测量气压

代码介绍

       本次代码全部采用AlgoBuilder图形化编程软件编写,此软件编程风格是一种数据流的编程方式。软件里面集成了各种红能模块,不需要去关注底层实现原理,可以更专注于对功能实现的思路。对于数据的显示使用的Unico-GUI,此软件可以很方便的与AlgoBuilder软件结合使用。

       分析任务1的要求,使用四个面测量四种不同的数据,则需要实现的功能有

  • 辨别板卡的方向
  • 对四种数据进行读取
  • 根据方向数据对显示的数据进行选择

 

       1、辨别板卡方向

       对于功能1,分析板卡上的传感器,可以使用三轴加速度计三个方向的值来判断板卡的朝向(此方法有个弊端即为若转动过快,加速度值会不稳定,导致数据错误),思路为判断三个数据中绝对值的最大值,得到垂直于地面的轴向,再根据最大值数据的正负判断具体板卡方向。子程序“方向判断”如下图1所示

Frntp-cVbkoBiJTUrkCFjktPBxDn

图1

      

       2、对四种数据进行读取

       对于功能2,除了桌面倾斜角度没有直接的库支持之外,温度,湿度,气压都有相应的库模块支持,所以主要在于实现倾斜角度的计算。通过对数据的分析发现当最大面与桌面接触时,Z轴加速度的数据最大,则根据简单的受力分解可知,直接对Z轴加速度数据取绝对值然后进行arccos反cos计算即可得到桌面的倾斜角度。子程序“桌面倾斜程度”如下图图2所示

FsEG9_xqrdpZ8LN4ifBdmuFC4HXp

图2

       3、根据板卡朝向实现对不同数据的显示

       对于功能3,主要需要完成的点为根据子程序“方向判断”的输出结果进行显示数据的选择,对于此部分,只需要简单的进行判断,选择输出即可,可以通过多级串联Switch函数模块实现。子程序“数据显示”如下图图3所示

FlU6E6rshE3cbWdxqb_UlekiqoiD

图3

 

功能演示及介绍

FpdoZCyRU5X-sx7jEtPD-ZMwqt51

图4 气压测量显示

Fs_OIOJrW5k_bLh6K2Jb8Fb1D4IQ

图5 湿度测量显示

FluPG5Df1WcwoZX1yLteZ5qzTHsH

图6温度测量显示

Fv_RUiSw2T5lhvlgsY8gjuJ46aK1

图7 桌面倾斜角度测量显示

心得体会

       这是第二次参加Funpack活动,相对于第一次来说对于新模块的使用上手更快,对于功能的实现相对来说思路也逐渐明显。每一次活动最大的问题对我来说不是功能的实现,而是文档的编写以及视频的录制,总是需要花费很多时间去思考怎么编写,但这次相对以往不管重新录制视频的次数还是文档书写的流程程度都有了很明显的提高。

       建议活动板卡找一些大多数人用得上而且以后能持续使用的,上一次活动结束之后一直没有找到合适的机会把板卡利用起来。

附件下载
Funpack第九期AlgoBuilder源程序以及子程序.zip
Funpack第九期A老公Builder源程序及子程序
团队介绍
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号