SHT30温湿度(Oled屏幕显示)

SHT30温湿度(Oled屏幕显示)

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

一、实现功能

一、实现功能

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

二、接线图

二、接线图

打开网易新闻 查看精彩图片

三、材料清单

三、材料清单

  1. SHT30/31温湿度传感器模块
  2. 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查询。

五、代码运行结果

五、代码运行结果

(1)Oled屏幕上显示的内容:

(1)Oled屏幕上显示的内容:

如果你连接上了Oled屏幕就会在显示如下内容(不接oled屏幕也无所谓,代码仍能正常运行)

打开网易新闻 查看精彩图片

(2)TF卡上LOG.TXT日志文件显示内容:

(2)TF卡上LOG.TXT日志文件显示内容:

如果你给Core插上了TF卡,将开关调至tf档即可在TF卡中的LOG.TXT文件中看到如下内容

打开网易新闻 查看精彩图片

(3)PC串口终端调试软件上显示的内容:

(3)PC串口终端调试软件上显示的内容:

如果你将Core通过USB线连接到电脑,并通过n,8,1,115200方式配置了串口终端软件。

打开网易新闻 查看精彩图片