Funpack第九期-SensorTile.box-任务一
1.介绍SensorTile.box的使用方法 2.使用SensorTile.box 立方体较大的四个面,实现四个不同的功能
标签
嵌入式系统
Titan
更新2021-06-11
903

一.项目介绍  

1.SensorTile.Box套件硬件

SensorTile.Box是一个很好玩的小盒子,小巧方便携带,内置了多颗Sensor,有常见的温度/湿度传感器,到专业的6轴惯性传感器,很适合需要进行无线物联网或者可穿戴开发的开发。

2.SensorTile.Box套件软件: 

为了配合SensorTile.Box的开发,ST开发了ST BLE Sensor App,在APP中根据需要设置功能,通过蓝牙传输,下载到开发板上进行验证,另外,ST和Algobuilder合作,可在AlgoBuilder上搭建可视化程度框架,一键生成C文件并打包,再内置调用ST-Programmer一键下载,最后内置调用Unicleo-GUI对程序运行验证,极大降低了开发入门门槛,同时也加快了开发速度,增加了可玩性,希望国内厂商也往易用性这个方向走,让我们多一些选择,不然买东西都不痛快,你们懂的。。。

二.开发思路和过程  

此次Funpack9活动我选取了任务一:用SensorTile.box 立方体较大的四个面,实现四个不同的功能:面1,测量桌面倾斜程度;面2,测量温度;面3,测量湿度;面4,测量气压;并且需使用串口工具对数据进行可视化显示。

本人的C语言实在烂,还好,algobuilder的可视化程序框架可以简单介绍一下我的思路:

第一步:熟悉SensorTile.Box套件。

主要通过AlgoBuilder预置范例,配合说明文档,了解常用功能模块的连接和使用规则。

第二步:分解课题需求

1.需要识别Box的4个较大的面:

参考Acc Sensor范例的值,不同面有X.Y.Z 3个值,其中Y和Z在-1到1之间变化,X不变,记录X.Y.Z在不同面的稳定值(因调用Acc功能,需要保持套件尽量小移动,以确保Acc Sensor的值稳定,个人想法结合陀螺仪和磁力计,应可以做到在空间任意点变化方向,也能准确抓取到是哪个面,即APP中Sensor Fusion的效果,这是后续目标)

按照最少判断的原则,对X.Y.Z的值先进行加总,加总值和参考值(举例+1/-1)对比进行判断,再对Y.Z值分别对比参考值进行判断,最后汇总这3个判断结果:(1).X.Y.Z加总值判断结果;(2).Y值判断结果;(3).Z值判断结果,汇总的判断结果来控制Switch模块选择数据输入,关于X.Y.Z的识别原理,下面附上两张图(力所能及之后图片还有大小不一,请谅解):

Fl4zXCcJiMG4Hzr9ev73O97GaEeRFknDEJluH_gTwc01xhYXtXbHprW0

2.根据选择结果,调用相应的Sensor输出数据,这部分除了面1的倾斜度比较麻烦,其他3面可直接调用Sensor数据,面1数据取巧直接调用Tile 范例。

第三步:程序实现和调试

这部分主要是调试判断逻辑和调整参数,具体过程不表,就是画逻辑图和根据上图1.2数据做参考,需要确保Box在变化面的过程中,有一段角度的范围,不能只卡完全平面即可。

下图是图形化程序界面的完整框架和相应说明:Fpk6ek-1GmaVeKxqrDIuZ26m8rNE

下面是判断每个面的逻辑:

  FgxncvwigeC8wYyQcNKGJUPi4g0y     FuK38X1qlhOtPKykYjVPm2za6Ta1   Fv-zqxA1OZ3x3TS5el4HMxJpFi1C    FiDgIQvmekIoSgsvJzm2fPxH4GfZ     

第四步:演示效果  

如下面的图,桌面上4个数据栏目:第一行左边是第一面,右边是第二面,第二行左边是第三面,右边是第四面。

对应各自图片中下方盒子上的标记,可看到当每个面朝上时,对应传感器输出数据,同时其他传感器无数据输出。

Fq4QTmg2kn2riyz-WXscrDTlrPlZ  FsFkQD2YVWmX-9lwPIHJfKPX8xz0

FsPTy__wV31jTEsvzm53ypSpn3pq  Fm4BlOvFJ1bHT8d56Zgk4wXWWyVv

三.活动总结,一些感想

工作多年,算经历了电子产业从粗放发展到产业转型的过程,在这个资本为王的时代,电子森林这样纯粹为提升电子行业水平而努力做事的一群小伙伴,非常非常不容易,很难得。

本人在这次的活动中学习很多,从最开始只知道STM32这个东西,到现在对STM32开发流程基本了解,离不开电子森林老师和群里大佬们的帮助,在此表示非常感谢,也遗憾漏掉了之前的活动,以后的活动会继续支持下去,希望电子森林能越办越好。

附件下载
任务一algobuilder自动转换C代码.c
任务一的C源代码,由algobuilder自动转换
任务一algobuilder文件0610.xml
algobuilder的xml文件,可导入到algobuilder中使用并一键转换成bin文件给sensortile开发板使用
团队介绍
本人,打工族一枚,专职工作画画线路,顺便Debug做做,Flex做做
团队成员
Titan
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号