| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 温湿度压力传感器——BME280,硬件开发与程序设计 -> 正文阅读 |
|
[嵌入式]温湿度压力传感器——BME280,硬件开发与程序设计 |
温湿度压力传感器——BME280,硬件开发与程序设计前言??这是第三个传感器,来自博世的温湿度、压力传感器——BME280. 硬件部分介绍BME280介绍??BME280是一款集成温度、湿度、气压,三位一体的环境传感器. 电路部分参考官方的的电路,电路部分很简单。 程序设计移植部分??BME280的寄存器还是比较少的,所以需要移植的部分也不多,每个传感器有两个可以配置的参数。
??设备参数:设备参数主要是选择通讯方面的参数和设备的传感器总参数。通讯可以选择SPI和IIC。修改下面的参数就可以修改,本例程是使用IIC通讯。
??传感器参数:一个是是否测量,另一个是过采样次数。都比较好理解。但需要注意的是,经过测试,如果不测量温度,直接测量湿度、压力,则结果就是错误的,不是说与实际温度、压力有偏差,而是结果与实际差距非常多。所以强烈建议在测量温度、压力之前,先测量温度参数,具体原因下文会慢慢解释。
??移植部分只有这么多,如果你也是用IIC通讯,可以全部照搬过去,核对以下IIC的接口和设备地址就可以直接用了。 API介绍??首先就是小白式测量函数,直接测量全部的三个数据。在初始化完成后,可以直接调用(设备模式是正常模式情况下<与例程相同>)。
接下里是三个参数的分开测量,这个传感器的设计有一个难点,就是数据的补偿,补偿公式十分复杂,晦涩难懂,但好在官方给出了程序式的写法,但也有好多种写法,经过测试,我搬了适合32位单片机的程序。会额外列出,供想自己写程序或需要的小伙伴。如果直接移植本程序,可以忽略不看。
??温度补偿公式
其中DAC_T是采样得到的数值,Dig_Tx是设备寄存器中的补偿值(每颗芯片都有特有的补偿值,在初始化中已经读取)
??湿度补偿公式
??测量压力参数
??压力补偿公式
??设备复位函数
??设备开机、休眠函数
??读取ID函数
开源地址??和OPT3001、BMX160是一个库,最后一个传感器由于硬件有些问题,正在打板,也差不多写好了,过几天便会更新。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/30 1:12:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |