当前位置:网站首页>【飞控开发基础教程7】疯壳·开源编队无人机-SPI(气压计数据获取)
【飞控开发基础教程7】疯壳·开源编队无人机-SPI(气压计数据获取)
2022-07-28 12:49:00 【efans_Mike】
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
更多完整学习资料和对应开源套件,请登陆官网:“疯壳”
如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系
边栏推荐
- Poj3275 ranking the cows
- Rust from introduction to mastery 01 introduction
- POJ1860货币兑换题解
- Analyzing the principle of DNS resolution in kubernetes cluster
- C语言:随机生成数+归并排序
- 30 day question brushing training (I)
- 111. SAP UI5 FileUploader 控件实现本地文件上传,接收服务器端的响应时遇到跨域访问错误
- R语言使用lm函数构建线性回归模型、使用subset函数指定对于数据集的子集构建回归模型(使用floor函数和length函数选择数据前部分构建回归模型)
- C语言:归并排序
- 111. The sap ui5 fileuploader control realizes local file upload and encounters a cross domain access error when receiving the response from the server
猜你喜欢

Excellent performance! Oxford, Shanghai, AI Lab, Hong Kong University, Shangtang, and Tsinghua have joined forces to propose a language aware visual transformer for reference image segmentation! Open

No swagger, what do I use?

Half wave rectification light LED

Three men "running away" from high positions in the mobile phone factory

Jar package

接口调不通,如何去排查?没想到10年测试老鸟栽在这道面试题上

我秃了!唯一索引、普通索引我该选谁?

Some thoughts on.Net desktop development

性能超群!牛津&上海AI Lab&港大&商汤&清华强强联手,提出用于引用图像分割的语言感知视觉Transformer!代码已开源...

Cool operation preheating! Code to achieve small planet effect
随机推荐
C language: random generated number + merge sort
Analyzing the principle of DNS resolution in kubernetes cluster
vite在项目中配置路径别名
Use non recursive method to realize layer traversal, preorder traversal, middle order traversal and post order traversal in binary tree
Tutorial on the principle and application of database system (060) -- MySQL exercise: operation questions 11-20 (IV)
Cool operation preheating! Code to achieve small planet effect
【安全】 阅读 RFC6749 及理解 Oauth2.0 下的授权码模式
LyScript 获取上一条与下一条指令
对“Image Denoising Using an Improved Generative Adversarial Network with Wasserstein Distance“的理解
30 day question brushing training (I)
30天刷题计划(四)
Product Manager: job responsibility table
[security] read rfc6749 and understand the authorization code mode under oauth2.0
R language ggplot2 visualization: visualize the scatter diagram and add text labels to the data points in the scatter diagram, using geom of ggrep package_ text_ The rep function avoids overlapping da
P1797重型运输 题解
了解虚拟列表背后原理,轻松实现虚拟列表
严格模式——let和const——箭头函数——解构赋值——字符串模板symbol——Set和Map——生成器函数
Intra prediction and transform kernel selection based on Neural Network
POJ3259虫洞题解
我秃了!唯一索引、普通索引我该选谁?