• 【飞控开发基础教程7】疯壳·开源编队无人机-SPI(气压计数据获取)


    COCOFLY教程
    ——疯壳·无人机·系列
    SPI(气压计数据获取)
        

        

        
        图1
        
        
        一、SPL06 简介
        SPL06 是歌尔公司最新推出新款气压传感器,最新推出新款气压传感器SPL06-001,歌尔是全球领先的 MEMS 厂家,SPL06 利用歌尔多年积累的 MEMS 开发技术,通过搭载高精度的检测用 MEMS(MicroElectroMechanicalSystems)即微机电系统和低功耗的集成电路,实现了业界最高级别别的精度±5cm,SPL06 是一种具有高精度和低电流消耗的小型化的数字式气压传感器,兼具压力和温度测量两种特点。压力传感器元件基于电容传感器原理,保证温度变化过程中的高精度测量。小型封装结构适合移动应用和可穿戴设备等。SPL06 的内部信号处理器将压力和温度传感器元件的输出转换为 24 位数据。每个压力传感器已被单独校准并包含校准系数。在应用中使用系数将测量结果转换成真实的压力和温度值。
        SPL06 的实物图如下所示。
        
        
        图2
        二、气压计数据获取实验
        气压计数据获取实验使用 STM32 的硬件 SPI 与气压计 SPL06 相连接,串口1 即 UART1,通过 USB 转串口模块连接电脑,把 SPI 获取到的 SPL06 的原始压力值以及原始温度值数据通过串口 1 传输到电脑端的串口调试助手显示出来。做该实验的时候需要把视觉模组暂时取下,并且把 USB 转串口的线接到视觉模组接口处。气压计 SPL06 在无人机顶部的白色 RGB 彩灯盒里,通过软排把 SPI 及供电口接出,如下图所示。
        
        
        图3
        根据原理图,可以看到 SPL06 的的 SPI 接口分别是:PB15、PA5、PA6、PA7, 如下图所示。
        
        
        图4
        串口 1 的配置可以参考《串口(基础收发),配置代码(通过调用官方库)。获取 SPL06 的数据代码编写的思路如下:
        
        
        表1
        SPI 初始化代码如下:
        

        图5
        SPI 的读写代码如下。
        
        
        图6
        SPL06 的初始化代码如下。
        
        
        图7
        SPL06 的读写代码如下。
        
        
        图8
        查看手册发现压力、温度的 24 位原始值在地址 0x00~0x05 上。
        
        
        图9
        读取该寄存器数据,并发送到串口上。代码如下所示。
        
        
        图10
        这里注意要把串口的发送也配置好,这样才能把数据发送到电脑。串口 1 通过 USB 转串口模块接到电脑,保存、编译、下载代码,可以看到 USB 转串口模块在不断地打印 SPL06 的 3 个字节原始压力值数据以及 3 个字节的原始温度数据,数据如下图所示:
        
        
        图11
        
        

        

    更多完整学习资料和对应开源套件,请登陆官网:“疯壳” 

     如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系

     

     

  • 相关阅读:
    TDengine服务器端启动失败问题(客户端连接失败问题)
    代码随想录算法训练营第五十天 | 123.买卖股票的最佳时机III & 188. 买卖股票的最佳时机 IV
    补盲激光雷达大爆发,各路产品谁领风骚?
    服务发现原理分析与源码解读
    6、链表和数组,哪个实现队列更快?
    C. Dolce Vita Educational Codeforces Round 127 (Rated for Div. 2)
    采用Linux 6.5 内核的Manjaro Linux 23.0正式上线
    经销商低价数据品牌如何掌握
    python import相关内容简单介绍
    【CSS3】CSS3 3D 转换 ② ( 3D 透视视图 | “ 透视 “ 概念简介 | 视距与成像关系 | CSS3 中 “ 透视 “ 属性设置 | “ 透视 “ 语法设置 | 代码示例 )
  • 原文地址:https://blog.csdn.net/efans_Mike/article/details/126030821