本期Funpack活动
用AlgoBuilder来完成任务一
如图所示,使用SensorTile.box 立方体较大的四个面,实现四个不同的功能,如:
· 面1,测量桌面倾斜程度;
· 面2,测量温度;
· 面3,测量湿度;
· 面4,测量气压;
注:需使用串口工具对数据进行可视化显示
这个就是我用任务一编写的算法图形
其中
依次为
倾角传感器(模式一)
四元数(用来展示更明显的3D模型来表达传感器的空间方向)
压力传感器(如题)
温度传感器(如题)
湿度传感器(如题)
加速度传感器(如题)
陀螺仪(如题)
标红处为逻辑判断部分
把加速度传感器的x,y,z轴参数拆开作为判断逻辑关系标准
如
当z轴数据大于0.7时输出为真
打开倾角传感器和四元数开关,否之关闭
其他三个较大的面的判断原理亦是如此
此外,我还添加了一个陀螺仪传感器,来观察除了测量倾角面的其他面工作时,SensorTile.box的翻转情况
(标红处为陀螺仪部分)
通过在判断“倾角面”逻辑后取反,来判断是否为非“倾角面”,我分别用了图形功能块和直方功能块来将数据可视化,此外还还加了快速傅里叶变换,当浮点值满足1024后,用傅里叶曲线图来打印图形
打开串口监视工具
当正面(A面)朝上时
当向上面为正面(1面)时,四元数模型开始描述倾角情况,此时陀螺仪虽然不显示示数,但是频域图像正常生成
2面温度传感器开始工作显示示数,陀螺仪显示示数
3面时气压传感器开始工作显示示数,陀螺仪显示示数
4面湿度传感器开始工作显示示数,陀螺仪显示示数
当为四面除外的两个较小面时(5面,6面)出陀螺仪外所有传感器停止工作,陀螺仪正常工作描述翻转情况
这些就是我用SensorTile.box完成任务一的全部功能,
STBLESensor来完成任务二
任务二我使用的为STBLESensor APP
上图为所需的APP 在百度和应用商店均能下载
通过上述操作来进入到传感器选择栏
我选择了温度,气压,湿度,加速度,陀螺仪传感器来分析待测物体所处环境的变换以及移动情况
输出的数据由蓝牙通过手机实时监控,还可以保存到内置SD卡
然后点击save app即可建立工程
然后回到初始界面点击connect to a device
进入蓝牙链接界面
连接成功后返回到custom apps界面点击play即可烧录程序
然后返回connect to a device界面打开传感器链接界面
该页面即可选择选择传感器记录实时环境
配置好时间记录间隔后点击start logging即可开始保存到SD卡
之后将传感器链接到电脑后为u盘的形式,根目录就可以看见表格
打开output表格即可看见数据
该表格为我用传感器记录的桌子上刚买的饮料的所处环境随着时间的变化
首先将数据导入折现图
(第一个表格双折线橙色为湿度,蓝色为温度)
下图为记录次数和时间的变化
可以看出(记录间隔为1s)
在开始记录的100s后
被测物体(饮料瓶)被人拿起后移动
在400s处亦是如此
在记录的743s后,温度有明显下降变化,陀螺仪,加速度传感器均有大幅变化,
所以被测物体(饮料瓶)所处环境应该从初始环境移动到了一个气温相对较冷的环境里(冰箱)
在1000s左右陀螺仪和加速度计有明显变化,其他传感器变化比较平缓
所以可能是被测物体跌落
在2100s处气温有明显上升,陀螺仪,加速度计均有明显变化
所以被测物体(饮料瓶)可能更改了环境(拿出来了)
此时湿度有明显上升,原因可能为被测物体低于环境温度,水蒸气遇冷凝结在物体表面,湿度上升
而在2200s处湿度开始下降,温度继续上升,气压传感器有明显变化,陀螺仪和加速度计示数均变化
所以被测物体可能被拿到了高风速,且气流温度较高的环境(被吹风机吹到或放在了电脑排风口处)
关于DFU烧录
AlgoBuilder应进行如下配置
配置成功后
依次点击来生成.c文件和建立工程代码,然后点击链接传感器进行烧录,烧录成功后点击打开串口监视工具来观察接收信息
然后刷回出厂固件需要进行清除并烧录初始工程
活动心得
这是我第一次通过ST的评估套件进行开发,不同于以往的通过MCU进行开发。ST强大的生态大大得简化了开发步骤,AlgoBuilder节省了姿态解算算法的实现时间。还可以通过手机端设计简单的程序,让我再次感受到了ST生态的强大。
感谢硬禾学堂Funpack活动让我基础这么优秀的板卡套件
祝硬禾学堂的活动越做越好