跳到主要内容

BMP280气压/温度测量

一、本例程实现功能

通过BMP280气压/温度传感器模块测量大气压和温度,并通过 print() 函数在电脑串口调试终端打印输出。

气压: 气压是作用在单位面积上的大气压力。气压的国际制单位是帕斯卡,简称帕,符号是Pa。气象学中,人们一般用千帕(kPa)、或使用百帕(hpa)作为单位。

二、 传感器参数配置概述

Core提供的库函数默认将BMP280传感器的精确度配置在最高分辨率,但功耗相对会高一点,工作电流达到650uA,传感器每秒可以输出26.3组温度气压数据,具体参数配置如下图中红色方框中的内容:

parameter

关于BMP280传感器更详细的介绍请在下文中提供的资料下载地址中下载并查阅。

三、接线图

bmp280

四、材料清单

名称推荐购买链接(或者您可以自己制作)模块/芯片硬件资料下载
BMP280温度气压计传感器模块BMP280购买链接下载地址
声明:这里推荐的购买链接仅供参考,您完全可以去其他商家或渠道购买,只要功能相似即可,如果需要更低的成本建议自己开发硬件模块或定制。

product_photo

五、完整代码

--配置USB以虚拟串口模式工作,这样调用print()函数就会在电脑串口终端打印输出
LIB_UsbConfig("CDC")
--设置BMP280气压计传感器占用SCL0和SDA0引脚,并启动传感器以每秒输出26.32组数据的频率工作
LIB_BMP280Config("IIC0")
--开始大循环
while(true)
do
--每隔40毫秒查询一次传感器是否出数,也可以设置大于40毫秒的查询间隔时间,取决于您的应用需求
LIB_DelayMs(40)
flag, temprature, pressure = LIB_BMP280GetResult()
if flag == 1 then --如果传感器此时有数据
--温度值保留两位小数,气压值去掉小数部分
print(string.format("temprature: %.2f pressure: %.0f Pa", temprature, pressure))
end
end
如果感兴趣,上面代码中出现的LIB开头的库函数可以在API文档中通过Ctrl+F查询。

六、代码运行结果

电脑串口调试终端上显示的温度(单位:℃)和气压(单位:Pa)内容如下图:

result