五行代码实现BMP280气压温度测量

188 阅读2分钟

BMP280气压/温度测量

本教程来源于 FlexLua 官网,专注于降低 IoT 硬件开发难度,零门槛 Lua 低代码编程技术开发 IoT 硬件。

一、本例程实现功能

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

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

parameter.png

二、 传感器参数配置概述

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

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

三、接线图

四、材料清单

BMP280温度气压计传感器模块

product_photo.png

五、完整代码

--配置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.png