Funpack第九期:使用“SensorTile.box”进行立方体较大的四个面,实现四个不同的功能以及搭建可随身携带的环境监测系统
本期FunPack活动主要是围绕着SensorTile.box进行的,烧录程序的方式有好多种,所以这期我选用了AlgoBuilder算法图形化软件和 "STBLESensor"APP来完成两个任务
标签
Funpack9
SensorTile.box
Sholder
更新2021-06-15
828

 

本期Funpack活动

用AlgoBuilder来完成任务一


如图所示,使用SensorTile.box 立方体较大的四个面,实现四个不同的功能,如:

rule-sample.png

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

· 面2,测量温度;

· 面3,测量湿度;

· 面4,测量气压;

注:需使用串口工具对数据进行可视化显示

FkfyHb-itbYksYJFMf-wLCR8VbOn

这个就是我用任务一编写的算法图形

其中FqBNgJi4k8FWGyldVsqwUJQJm7oW

依次为

倾角传感器(模式一)

四元数(用来展示更明显的3D模型来表达传感器的空间方向)

压力传感器(如题)

温度传感器(如题)

湿度传感器(如题)

加速度传感器(如题)

陀螺仪(如题)

Foaici0lyShKElUBVj6UxMufoCbg

 

标红处为逻辑判断部分

把加速度传感器的x,y,z轴参数拆开作为判断逻辑关系标准

FmrJzYec1TcDXRNjnu1Xn8hCm-b0

当z轴数据大于0.7时输出为真

FqBCTIJG-ymhuOXnhCqciwD8SlWk

打开倾角传感器和四元数开关,否之关闭

其他三个较大的面的判断原理亦是如此

此外,我还添加了一个陀螺仪传感器,来观察除了测量倾角面的其他面工作时,SensorTile.box的翻转情况

标红处为陀螺仪部分

(标红处为陀螺仪部分)

通过在判断“倾角面”逻辑后取反,来判断是否为非“倾角面”,我分别用了图形功能块和直方功能块来将数据可视化,此外还还加了快速傅里叶变换,当浮点值满足1024后,用傅里叶曲线图来打印图形

打开串口监视工具

当正面(A面)朝上时Fid8nqjFUNtdILraLGdxi3y6iPg0

当向上面为正面(1面)时,四元数模型开始描述倾角情况,此时陀螺仪虽然不显示示数,但是频域图像正常生成

Fh_8REzOjG64d_PMyRCKSxYLqX_g

2面温度传感器开始工作显示示数,陀螺仪显示示数

FiT2dUH9C5ZcHbgMECGi0w8c3s3p

3面时气压传感器开始工作显示示数,陀螺仪显示示数

Fn6tOKsx1Rc0B0lWZF3SXRj6PwkP

4面湿度传感器开始工作显示示数,陀螺仪显示示数

Fh0cXxG2GI9_WvZ5zKYPwbgeWBKb

当为四面除外的两个较小面时(5面,6面)出陀螺仪外所有传感器停止工作,陀螺仪正常工作描述翻转情况

这些就是我用SensorTile.box完成任务一的全部功能,

STBLESensor来完成任务二

任务二我使用的为STBLESensor APP

FpLcZ8Cbar4A3h9_pdoRMkZYY4dK

FgOZp3Jv4I3GGVkHZQKd_FWmRvVD

上图为所需的APP 在百度和应用商店均能下载

Fl8Rzo4Zzu8bldj5i-P9IH063tYNFvdtxoIIEnMoAKvBRhu7vUV09_dkFvzoD6kzY2MAJR2rvWTpS8eW73zGFvyj0Kx_oftQzo5r6kfjNfMpKGS1

通过上述操作来进入到传感器选择栏

FsqETPlTEQiyK3EEn8Ui3IvqFyceFui7Qk3fGhctqN0cKAyVHLU-lH9N

我选择了温度,气压,湿度,加速度,陀螺仪传感器来分析待测物体所处环境的变换以及移动情况

输出的数据由蓝牙通过手机实时监控,还可以保存到内置SD卡

然后点击save app即可建立工程

然后回到初始界面点击connect to a device

进入蓝牙链接界面

FmZTPL8irejcJHy9nS0zTRtAlJT7

连接成功后返回到custom apps界面点击play即可烧录程序

然后返回connect to a device界面打开传感器链接界面

FtxYySQozc52mCwGLBPM_Sz4vvxe

该页面即可选择选择传感器记录实时环境

配置好时间记录间隔后点击start logging即可开始保存到SD卡

之后将传感器链接到电脑后为u盘的形式,根目录就可以看见表格

Fo2CpklWDj-d9f35tarZDfImWqVK

打开output表格即可看见数据

FjovfJuFe4sMmASpHFsvwcbT7yra

该表格为我用传感器记录的桌子上刚买的饮料的所处环境随着时间的变化

首先将数据导入折现图

FtLa6RBIHMnjIhDjSB_ESsFipc0L

(第一个表格双折线橙色为湿度,蓝色为温度)

下图为记录次数和时间的变化

Fk1TQW_aTWFpkom85hb1BZ8fu599

可以看出(记录间隔为1s)

在开始记录的100s后

被测物体(饮料瓶)被人拿起后移动

在400s处亦是如此

在记录的743s后,温度有明显下降变化,陀螺仪,加速度传感器均有大幅变化,

所以被测物体(饮料瓶)所处环境应该从初始环境移动到了一个气温相对较冷的环境里(冰箱)

在1000s左右陀螺仪和加速度计有明显变化,其他传感器变化比较平缓

所以可能是被测物体跌落

在2100s处气温有明显上升,陀螺仪,加速度计均有明显变化

所以被测物体(饮料瓶)可能更改了环境(拿出来了)

此时湿度有明显上升,原因可能为被测物体低于环境温度,水蒸气遇冷凝结在物体表面,湿度上升

而在2200s处湿度开始下降,温度继续上升,气压传感器有明显变化,陀螺仪和加速度计示数均变化

所以被测物体可能被拿到了高风速,且气流温度较高的环境(被吹风机吹到或放在了电脑排风口处)

 

关于DFU烧录

AlgoBuilder应进行如下配置

Firb3t6pOziB-4s0J8ZUHMdLBE4fFsg0X2OKcfVCTXTeVKXJYZOc41pN

FpBymc84PIJSfo4mGN_J4I-_za2NFuAs8ExgbdwVMIQmC0QR4NqliumW

配置成功后

依次点击FmCmQdX3xeQ9hI2bsKUxgQVgaTM9来生成.c文件和建立工程代码,然后点击FtYD2M_fjhrp2h5AlATywQb8uXja链接传感器进行烧录,烧录成功后点击FjdS5Om62Gbl3bm7005E2CSsS2EH打开串口监视工具来观察接收信息

然后刷回出厂固件需要Fkq70-oZlRMW0FJ7gg4jj3ubGB04进行清除并烧录初始工程

 

活动心得

这是我第一次通过ST的评估套件进行开发,不同于以往的通过MCU进行开发。ST强大的生态大大得简化了开发步骤,AlgoBuilder节省了姿态解算算法的实现时间。还可以通过手机端设计简单的程序,让我再次感受到了ST生态的强大。

感谢硬禾学堂Funpack活动让我基础这么优秀的板卡套件

祝硬禾学堂的活动越做越好

附件下载
Funpack9.xml
打开AlgoBuilder后在打开,不要直接打开
团队介绍
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号