低代码实现SHT30温湿度Oled屏幕显示

160 阅读1分钟

SHT30温湿度(Oled屏幕显示)

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

一、实现功能

通过Sht30/31传感器模块测量温度和湿度,并在oled屏幕上显示或通过print()函数打印输出。

二、接线图

oled_sht3x.svg

三、材料清单

  • SHT30/31温湿度传感器模块
  • 0.96寸4针 IIC接口oled屏幕

四、完整代码

--定义初始化函数
function Init()
	--配置USB以虚拟串口模式工作,这样调用print()函数就会在电脑串口终端打印输出
	LIB_UsbConfig("CDC")
	--设置sht3x传感器占用SCL0和SDA0引脚,并启动传感器以每秒出10个数据的频率工作,repeatability="HIGH"时精度最高
	LIB_Sht3xConfig("IIC0","10","HIGH")
	--设置0.96寸oled模块占用SCL1和SDA1引脚
	LIB_0_96_OledConfig("IIC1")
end
--初始化
Init()
--开始大循环
while(GC(1) == true)
do
	--延时200毫秒
	LIB_DelayMs(200)
	--每隔200毫秒查询sht3x传感器是否出数
	sht3x_flag,sht3x_temp,sht3x_humi = LIB_Sht3xGetResult()
	--如果传感器有新的温湿度数据产生
	if sht3x_flag == 1 then
		--在oled的第一行和第二行分别显示温度(摄氏度)和湿度(百分比)
		LIB_0_96_OledPuts("1","1",string.format("temprature: %.2f", sht3x_temp))
		LIB_0_96_OledPuts("2","1",string.format("humidity: %.2f", sht3x_humi))
		--TF卡LOG.TXT和PC串口终端打印
		print(string.format("temp: %.2f\r\nhumi: %.2f", sht3x_temp, sht3x_humi))
	end
end

如果感兴趣,上面代码中出现的LIB开头的库函数可以在API文档中通过Ctrl+F查询。