第11课 温湿度检测仪#
11.1 项目介绍#

XHT11温湿度传感器(XHT11完全兼容DHT11)是一款含有已校准数字信号输出的温湿度复合传感器,其精度:湿度±5%RH,温度±2℃;量程:湿度5-95%RH,温度-20~60℃。XHT11温湿度传感器应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。XHT11温湿度传感器包括一个电阻式感湿元件和一个NTC测温元件,非常适用于对精度和实时性要求不高的温湿度测量场合。
XHT11有三个引脚,分别为V,G,和S。S为数据输出的引脚,使用的是串行通讯。
11.2 模块相关资料#

工作电压: |
3.3V-5V(DC) |
|---|---|
最大工作电流: |
50mA |
最大功率: |
0.25W |
控制接口: |
数字双向单总线 |
温度范围: |
0-50℃(±2℃) |
湿度范围: |
20-90%RH(±5%RH) |
工作温度: |
-25℃~+60℃ |
XHT11温湿度传感器的单总线格式定义:
名称 |
单总线格式定义 |
|---|---|
起始信号 |
微处理器把数据总线(SDA)拉低一段时间至少 18ms(最大不得超过30ms),通知传感器准备数据。 |
响应信号 |
传感器把数据总线(SDA)拉低 83µs,再接高 87µs以响应主机的起始信号。 |
湿度 |
湿度高位为湿度整数部分数据,湿度低位为湿度小数部分数据 |
温度 |
温度高位为温度整数部分数据,温度低位为温度小数部分数据,且温度低位Bit8 为 1 则表示负温度,否则为正温度。 |
校验位 |
校验位=湿度高位+湿度低位+温度高位+温度低位 |
XHT11温湿度传感器数据时序图:
用户主机(MCU)发送一次开始信号后,XHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,XHT11 发送响应信号,送出 40bit 的数据,并触发一次信采集。信号发送如图所示。

11.3 实验组件#
|
|
|
|---|---|---|
ESP32 Plus主板 *1 |
XHT11传感器* 1 |
3P线 *1 |
|
|
|
I2C LCD1602模块 *1 |
4P线母 *1 |
USB线 *1 |
11.4 模块接线图#
XHT11温湿度传感器和I2C 1602 LCD模块的控制引脚:
XHT11温湿度传感器(S引脚) |
io17 |
|---|---|
I2C 1602 LCD模块(SDA引脚) |
SDA |
I2C 1602 LCD模块(SCL引脚) |
SCL |
⚠️ 特别注意:智能家居已经组装好了,这里不需要把XHT11温湿度传感器和I2C 1602 LCD模块拆下来又重新组装和接线,这里再次提供接线图,是为了方便您编写代码!

11.5 代码流程图#

11.6 实验代码#

11.7 实验结果#
按照接线图接好线,外接电源,选择好正确的开发板板型(ESP32 Dev Module)和 适当的串口端口(COMxx),然后单击按钮
上传示例代码至ESP32主控板。示例代码上传成功后,上电后,LCD1602显示屏显示温度值,T = ** ℃(代码中用C表示℃,因为代码中直接用℃容易乱码),湿度值H = ** %RH,用口对着温湿度传感器呼几下气体,可以看到温湿度值上升。






