第18章 DHT11湿温度实验
第十八章 DHT11湿温度实验
1. 导入
温湿度也是我们日常常见的指标, 我们使用的是 DHT11 数字温湿度传感器。这是一款含有已校准数字信号输出的温湿度复合传感器。
DHT11 具有小体积、 极低的功耗, 与 DS18B20 一样是单总线接口, 为 4 针单排引脚封装, 连接方便。 如下:
这种封装的可直接插入我们开发板 DHT11 传感器接口上使用, 当然也可使用DHT11 模块, 通过导线连接 IO 口。 DHT11 模块如下:
+: 电源正极(3-5.5V) , OUT: 数据口, -: 电源负极。湿度测量范围: 20~90%RH, 精度±5%RH;
温度测量范围: -20~+60° C, 精度±2° C;
DHT11 性价比较高, 很适合学习使用, 但精度和响应速度有点低, 需要更高要求应用的用户可以使用 DHT22 或者其它更高级的传感器。
2. 硬件设计
本实验实验到硬件资源如下:
-
DHT11湿温度传感器
-
ESP32 GPIO
DHT11模块电路如下:
由图可知, DHT11 和 DS18B20 可共用一个接口, J2 端子的 DS18B20 脚为DS18B20 和 DHT11 传感器控制口, 可将该引脚与 ESP32 的 GPIO 连接。 如果使用DHT11 模块的可直接将模块通信口与 ESP32 连接, 本章实验使用 DHT11 模块连接。
本章实验使用 ESP32 的 IO27 引脚, 接线如下所示:
3. 软件设计
3.1 MicroPython函数使用
ESP32 的 MicroPython 固件集成了 dht11 模块, 因此我们可以直接使用。
说明如下:
使用方法如下:
3.2 代码分析
#导入Pin模块
from machine import Pin
import time
import dht
#定义DHT11控制对象
dht11 = dht.DHT11(Pin(27))
#程序入口
if __name__=="__main__":
time.sleep(1) #首次启动间隔1S让传感器稳定
while True:
dht11.measure() #调用DHT类库中测量数据的函数
temp = dht11.temperature()
humi = dht11.humidity()
if temp == None:
print("DHT11传感器检测失败!")
else:
print("temp=%d °C humi=%d %%" %(temp,humi))
time.sleep(2) #如果延时时间过短,DHT11温湿度传感器不工作
2024.8.22 第一次修订,后期不再维护
本文作者:hazy1k
本文链接:https://www.cnblogs.com/hazy1k/p/18372979
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!