DHT11温湿度传感器怎么接线?Arduino数字口读温度和湿度教程

开源复现员硬件DIY 2026-10-16 12:56:58 3阅读 举报

做温室监控、智能加湿器、或者想给自己的“育空净”加个环境显示,温湿度都绕不开。DHT11是最入门也最便宜的数字温湿度传感器:一根数据线就能把温度和湿度一起读出来。这篇文章把接线和读取讲明白。

模块和裸元件引脚不一样

DHT11有两种形态:一种是四针的裸传感器,引脚是VCC、DATA、NC(空脚)、GND,正面看引脚顺序容易记错;另一种是做成三脚的小模块(板上带滤波电容和上拉电阻),一般是VCC、DATA、GND三个。用模块不用管上拉,直接用起来更省心。

它是单总线通信,就一根DATA线既发数据又收指令,靠时间来区分0和1。所以接一根数据脚就行,比I2C还好接。DATA脚接Arduino任意一个数字脚,比如2号脚,功能上没啥讲究。

怎么接线:三根线搞定

用模块版就三根线:VCC接3.3V或5V都行(看模块丝印),GND接地,DATA接到Arduino的数字脚(比如2号)。如果是四针裸元件,记得第3脚NC悬空不接,VCC和DATA之间按需加上拉电阻(模块版一般已内置)。

软件上用现成的DHT库(Adafruit_DHT或DHT类库)最省事:库初始化时指定数据脚和传感器型号,然后调一下读取函数,温度和湿度就直接返回来变量里了。要注意DHT11读取有频率限制,别读太勤,一般隔1秒读一次比较稳。

应用:自动加湿、显示和控制

拿到温度和湿度值,能做的事很多:读数低于设定阈值就开加湿器/风扇,高于就关,做个自动控制的植物棚或鱼缸环境;把两路读出来按需求串口打印,或配合OLED屏实时显示当前温湿度;要更精细就用DHT22,精度更高但贵一点。

DHT11的湿度精度大概正负5%、温度正负2度,量级够做环境大致监控,重度测量就算了,那就该上SHT、AM2302这类更准的。

三个高频坑:数据脚别接模拟口、读不出先查接线

最常见的问题就是“读不出来、串口打不出数”。排查顺序:先确认数据脚是不是真的数字脚——有人图省事把DATA接到A7这样的模拟口,DHT是数字通信,接模拟口可能工作不正常;再查VCC和GND有没有接反;最后确认库型号参数写的是DHT11不是DHT22。

还有个时序坑:DHT11对读取时序敏感,如果库或延时不对,可能偶尔读出异常值(NaN或负值),可以多做几次读取、滤掉明显坏值,或加个简单的“读数有效性判断”。单总线传输距离也别拉太长,几米内稳妥。

DHT11是加温湿度监控最低门槛的方案。一根数据线、三个好认的脚、一个现成库,温度湿度一起读,做自动控制、环境显示都够用,小白也能当天上手。

版权声明:
作者:开源复现员
链接:https://www.aiddithome.com/p/131d8617e89c45.html
来源:硬件DIY
实践版权归作者所有,未经允许请勿转载,若此实践存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论
第三次终于亮了
1楼 · 12小时前

接模拟口读不出这个坑我踩过,换成数字脚就好了

探头看一眼
2楼 · 12小时前

温室自动加湿用它做环境采样正合适

板砖搬不动
3楼 · 12小时前

一根数据线就够了,比I2C还好接,新手友好

阿强焊点总飞
4楼 · 12小时前

那个读太频繁会出错是真的,隔1秒稳