
#第九届立创电赛#ESP32物联网温湿度监测模块
简介
基于ESP32和盛思锐SHT40的温度传感器方案验证版,带有显示功能
简介:基于ESP32和盛思锐SHT40的温度传感器方案验证版,带有显示功能开源协议
:CC BY-NC-SA 4.0
描述
* 1、项目功能介绍
一款基于ESP32的物联网温湿度传感器,可通过Type-C口直接获取数据,也可在二次开发后通过基于WI-FI的传输(MQTT等方式)或是蓝牙获取数据,可用于有WIFI或蓝牙网关覆盖区域的温湿度采集与显示。
*2、项目属性
项目为首次公开,为原创项目,未曾在其他比赛获奖,未曾在学校参与过答辩。
* 3、开源协议
CC BY-NC-SA 4.0
请在竞赛阶段填写 ↓
*4、硬件部分
原理和机制
使用ESP32-C3模组与盛思锐SHT40-AD1B(电赛版模组)作为核心功能组件,同时保留了对常规封装SHT40-AD1B与STS3x-DIS系列传感器的支持,实现通过I2C与传感器通讯,并获取到温湿度信息后显示出来。可在二次开发后实现WIFI/BLE通讯,实现无线温湿度传感器的功能。
注意事项
1.温湿度传感器模块封装非常小(STS3x-DIS系列大约是2_3mm,SHT40-AD1B大约1.5_1.5mm),可以考虑在立创商城购买电赛版模块点击跳转;
2.立创商城的电赛版模块是1mm间距排针,而非常规2.54mm,请注意。(商品详情未注明这一点);
3.温湿度传感器在焊接时需注意保护;
4.请不要参考实物图进行项目焊接,拍摄实物图时为了调试效果,很多元件没有焊接,可能影响数据准确性;
5.该款温湿度传感器灵敏度极高,应与PCB 上的热源解耦,降低PCB热源对传感器的影响。
调试方法与测试方法
验证时采用的是盛思锐SHT40-AD1B(电赛版)模组,设置为高精度模式(HIGH_PRECISION)。参照规格书与官网,精度表现如下:
检测项目 | 精度 |
---|---|
温度(25℃) | 0.3℃ |
湿度(25℃) | 3%RH |
其具有高精度的特性,无需考虑温度补偿算法,可以直接读取数据使用。在验证时采用I2C按照SHT40-AD1B的规格书中的通讯方式直接读取了温湿度数据,实测可以正常工作,且准确度符合预期。
*5、软件部分
使用Micropython编写
引入所需模块
from machine import Pin, I2C, ADC
import ssd1306
import framebuf
import time
import machine
import esp32
初始化I2C
i2c = I2C(0, scl=Pin(5), sda=Pin(4))
测量温度信息
使用SHT40-AD1B的测量流程如下:
1.ESP32向SHT40发出测量命令
i2c.writeto(SHT40的I2C地址(默认为0x44) , 设定的测量准确度)
2.等待10ms,SHT40需要时间测量数据
time.sleep(0.01)
3.读取SHT40的数据
data = i2c.readfrom(SHT40的I2C地址(默认为0x44), 6)
4.处理数据,组合数据中的高低字节
temp_ticks = data[0] @@ 8 | data[1] #将@@替换为两个小于号
- 使用规格书中的公式计算温湿度
temperature = -45 + (175 * temp_ticks / 65535.0
- 显示温度信息到屏幕
display_dynamic_info(temperature, humidity) # 屏幕内容变量
目前仅作此示例,用于验证该温湿度传感器的PCB设计与连接方式。软件使用Micropython编写,可二次开发,实现MQTT,TCP等基于网络的方式传输温湿度数据,或是使用蓝牙与串口连接并传输数据。
*6、BOM清单
*7、大赛LOGO验证
* 8、演示您的项目并录制成视频上传
已上传在附件的视频模块
设计图

BOM


评论