Funpack第九期-应用SensorTile.box四面实现四类环境数据测量
完成任务一,运用SensorTile.box立方体较大的四个面实现了对桌面倾斜角度、环境温度、环境湿度、环境气压的测量
标签
嵌入式系统
wjy
更新2021-06-21
654
  • 本板卡实现功能
  • 软硬件介绍

本次软件主要使用ST公司的AlgoBuilder(图形界面设计应用软件),该软件工具可以快速描述STM32微控制器和MEMS传感器的应用原型,它提出零行代码快速开发原型的方法,可直观的提取并导出许多参数和传感器数据,减少编写固件代码所花费的时间和精力,用户可通过AlgoBuilder捆绑安装的Unicleo软件进行可视化显示并分析结果。

Fo7U3aOiiepYWCjHLuGMGQ2_Y4pB图一

本次使用的板卡是SensorTile.box主要包含多个高精度传感器如数字温度传感器(STTS751)、六轴惯性测量单元(LSM6DSOX)、三轴加速度计(LIS2DW12和LIS3DHH)、三轴磁力计(LIS2MDL)、高度计/压力传感器(LPS22HH)、麦克风/音频传感器(MP23ABS1)、温湿度传感器(HTS221)以及蓝牙模块组成。具有多种使用模式,可满足初学者和开发者的使用和开发。同时SensorTile.box还包含一个固件编程和调试接口,允许专业开发人员使用STM32开放式开发环境(STM32 ODE)进行更复杂的固件代码开发,该环境包括带有神经网络库的感应AI功能包。

Fi7yXhwAzdSFqPB1q5CLub-mTUmT                                                                    图二

  • 功能介绍

本次完成的是任务一:使用SensorTile.box立方体较大的四个面,实现四个不同的功能,如:

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

面二,测量温度;

面三测量湿度;

面四,测量气压;

数据结果通过串口进行可视化显示。

FuuhNAcznNOvrQ8rvRkExyBuVFfp图三

 

  • 各功能对应的主要的代码片段及解释
  • 设计思路

首先要进行四个面的判断,通过对algobuilder例程的分析,最终决定使用的重力加速度xyz轴三个方向上的数字变换进行比较判断从而确定面。通过判断条件确定面后选择使用的传感器,进而达到任务要求在规定面对应传感器输出并显示数据。

  • 具体设计

FqlmMkPweBj2ZZ3JL6PwK4IDLnEl                                                                           图四、完整流程图设计

立方体面的判断条件,通过对重力加速度的传感器的分析可知:面一时,Z轴加速度分量接近1且xy轴分量接近于0;面二时,y轴加速度分量接近-1且xz轴分量接近于0;面三时,Z轴加速度分量接近-1且xy轴分量接近于0;面四时,y轴加速度分量接近1且xz轴分量接近于0;由于在翻转时加速度波动较大并不是稳定与0、1、-1,所以采用大于特定值和小于特定值来判断,选用大于0.7/-0.7、小于0.4/-0.4。

FnQ4bD-q8P5kljGJ5EUlXIcujrcb图五

 

红色为重力加速度传感器,通过Demux进行拆分,分出xyz三个单独的分量进行下一步的判断。BarGraph将xyz分量的值通过柱状图表示,可以更加直观的观察出其变化量。And起到逻辑与的作用,xyz分量值进行比较判断后逻辑相与输出为真时对应传感器开始工作。

FmVIUBccpl_tSd5Kmfu5_loD_-wb图六

  • 主要功能

                    

 

 

 

Fmt_NcBAuYh7-wGMpTUGMb9Nk9h3图七                                 FhDfgySYYB6ttXBw4bWVSNYRGRgu  图八

图七中Sensor Hub为传感器集成器,是设计中不可缺少的部分。通过四元数利用茶壶模型可视化看出板卡目前所处的状态,如图八。

                                  Fv56E46b3DQKlnQhyAJgaa9mbbp4图九

图九使用Tile Sensing传感器直接输出三个方向的姿态角,图十再次使用重力加速度对XYZ分量进行数学运算得到theta、psi、phi方向上的角度。

FkxArAqihDpschy4ge5YyXenOgxD图十

FnXODI26oqEomIE915rllxyguexz图十一

图十一是面二、三、四对应的温度、湿度、压强传感器,当达到触发条件时开始工作并通过缓冲数组来进行数据输出。

 

  • 功能演示及结果说明

FgB7ljHxghvnIP1BPA1LNP63MA2Q图十二

使用algobuilder时要对其进行配置,这里配置使用keil的编译器(程序见附件)

                              FnUpv0KXS2y-SmIkQO_kevPHA-PO图十三

 

上图,我们设置茶壶盖子朝上时定义为面一,此时可测量角度变化情况。

FrTMoYpTkwRr9j8Z9SyAWme8PD_H图十四

 

此时茶壶侧边朝上为面二,图右测窗口显示出温度的变化情况。  

                                  FqrEe-JJW6fnx-xejoFJ2zBup2oW图十五

 

此时茶壶盖子朝下为面三,图右测窗口为湿度变化情况。

                               FtMlRdZvQtg2jCA7rWAqKIUUBTBh图十六

 

此时茶壶侧边朝上为面四,图右测窗口为气压变化情况。

 

  • 心得体会

非常感谢电子森林、硬禾学堂和Digikey举办的这次活动。本次活动虽然是比较基础的开发,但是通过这次活动,使我收获很多,也从中发现了自己的很多不足,此次设计在稳定性上还需要进一步优化和提升。这次活动也是使我接触到了进一步了解STM32的传感器的MEMS,体会到了ST公司的强大。希望以后可以有更有意思的板卡。

 

附件下载
task1.xml
algo_builder.c
具体工程 链接:https://pan.baidu.com/s/14gywMpe945e9mBv_qbmzSA 提取码:3rog 复制这段内容后打开百度网盘手机App,操作更方便哦
团队介绍
团队成员
wjy
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号