Funpack第九期-使用SensorTile.box盒子感知环境
funpack SensorTile.box AlgoBuilder 四元数 欧拉角 温度 湿度 气压 倾角 图形化编程 重力加速度 反三角函数
标签
嵌入式系统
测试
happy
更新2021-06-10
801

内容介绍

  1. 项目介绍:
        本次利用SensorTile.box实现funpack第9期活动的任务一。使用SensorTile.box 立方体较大的四个面,实现四个不同的功能,如:· 面1,测量桌面倾斜程度; 面2,测量温度;· 面3,测量湿度;面4,测量气压。
        SensorTile.box 有很多传感器,在本次任务中需要用到的传感器有 加速度传感器--用来感知当前是那个面朝上和感知当前与水平面的夹角。温度、湿度、压力传感器。
  2. 需要用到的软件:
        通过直播,了解到了厂家提供了完备的软件解决方案。在这里使用AlgoBuilderSuite来完成任务。这是一个由厂家提供的非常好用的图形化界面编程软件。在这个软件里几乎将SensorTile.box的各个传感器都进行了模块化的封装,不用从零开始去编写各种协议读取传感器了,可以直接用图形化方式调用功能模块去读取传感器。不过没找到蓝牙、麦克风的模块,应该是这部分还没有支持。
        FqeDcmWws_FbnwgCR-R4TTnsskz2
        软件安装完成后,需要进行设置。Unicleo-GUI和Unico-GUI是厂家提供的图形化展示界面,随着软件一起被安装了,在这里进行路径配置就好。stm32cublprogrammer是厂家提供的烧写软件,需要额外安装。这个图形化软件还能提供C语言的代码,可以按需求进行配置,我这里配置了 keil的编译器。
        

  3. 编程实现:
    FuMQfIJuiRVo_mCxNsZhmihCWnjD
        新建一个项目,配置好开发板信息。图形化编程提供了超多的模块供我们使用。所有的项目都是以sensor hub模块开始的。对本次项目而言,除了传感器原始信息外,开发工具还提供大量已完成的算法模块和展示模块。
    这里我通过四元数模块,通过加速度、角速度、磁力计传感器计算出开发板当前的空间状态,然后通过fusion这个模块展示。fusion是一个茶壶,可以图形化地展示开发板的空间状态。
    Fn1ic13qKc66dQIwwj8XBMiWAs9I
       针对任务,开发板将在四个面来回切换。所以使用欧拉角模块,感知开发板当前的姿态角。这里遇到一个问题,从欧拉角中分离出翻滚角的变换范围是-90~90度。二开发板四个面将会旋转360度,对于1、3面无法分辨,都会显示0。所以再增加一个加速度模块,当翻滚角为0时,读取加速度Z轴的值,判断那个面为上。理由就是板子在任何时候都受到重力加速度,重力加速度的方向始终是垂直指向地心的。
        开发板与水平面夹角的值的计算。通过加速度模块获取加速度的x轴的值与加速度z轴的值。这两个加速度分量始终互相垂直,通过计算这两个值的反正切值就可以获得当前与水平面的夹角了,转换成角度。
        图形化软件用起来很方便,除了传感器读取模块,还有大量的逻辑运算、数学运算模块。这里留意一下demux和mux两个模块。传感器模块的到的结果值基本都是数组,demux就是用来从数组中获取指定位置的值,而mux正好相反,用来将数值合成为数组。角度、温度、湿度、气压,这些需要展示的值获取后,通过mux将传感器的值和0组成一个数组,再通过buffer模块,使用获取开发板朝上的面的信息来选择输出值,如果条件满足就输出传感器的值,否则输出0值。如果逻辑过于复杂,没有现成的模块可以使用,还可以通过AlgoBuilderSuite生成对应的C的项目代码,去对代码做修改。在本项目中并没有逻辑复杂的情况出现,所以没有对C代码做修改。
        再说说展示部分。Unicleo-GUI是厂家提供的一个图形化展示的界面。通过串口与开发板相连接。可以已多种形式(图表、曲线、立体图形……)展示数据。这里通过数字方式展示结果数据。四个面对应四个数字。angle代表与桌面水平夹角,单位度;Temperature为当前温度,单位摄氏度;Humidity当前湿度;Pressure当前气压,单位hPa。不过这个界面暂时不支持中文,单位输出用中文时,出现了乱码。当板子第一面朝上时,就显示水平夹角,其余都显示0.第二面朝上时显示温度,其余数据均为0;第三个面朝上时显示湿度,其余参数显示为0.第四个面朝上时,显示当前的大气压,其余参数显示为0。
    FhBN1hU0AqR5fR9pZIFelF4R_jVqFqUz6iw7c1Ff-OSxSzLkP9cuwVRk
    Fj4KrvhT78XYSdwSoqLJ2itfiZWFFmpJo4pC9ofOegBZi5Xl4lrBfXH6
  4. 活动心得:
        感谢funpack的活动,极大地拓宽了视野。板子功能还有很多,期待着学习分享大家的作品,提升自己,也玩的更加尽兴。

软件 & 硬件

电路图

附件下载

homework.zip

团队介绍

团队成员
happy
aramy
单片机业余爱好者,瞎捣鼓小能手。

评论

0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号