做环境监测、温室大棚、智能家居,第一个要测的多半是温度和湿度。DHT22是比DHT11精度更高的温湿度传感器,测湿精度±2%、测温精度±0.5℃,一根数据线就能通信。这篇文章把接线和读取讲清楚。
DHT22是什么,认准三根脚
DHT22(也叫AM2302)内置一个电容式湿度传感器和一个热敏电阻,通过单总线协议把温湿度一起传给主控。它比DHT11贵一点但精度高不少,做需要稳定数据的项目,很多人直接上DHT22。
模块一般引出四根脚或三根脚,核心就三根:VCC(供电)、GND(地)、DATA(数据线)。DATA是单线的,既能发也能收,靠协议时序通信。

接线表:VCC、GND、DATA 三线搞定
DHT22接到Arduino Uno标准接法:VCC接5V、GND接GND、DATA接一个数字口(图上接D8)。单总线一般建议在DATA线上加一个4.7kΩ到10kΩ的上拉电阻到VCC,让信号空闲时保持高电平更稳定(很多模块小板已经内置了上拉电阻,直接接就行)。
接线见图,三根线对应清晰,压线钳都不用,杜邦线插好就能测。

读取数值:DHT库几行拿到温度和湿度
别自己抠单总线时序,Arduino库管理器装DHT库(Adafruit DHT sensor library + DHTlib其一),建对象时告诉库“DHT22”,指定DATA接的引脚,然后读dht.readTemperature()和dht.readHumidity()就行,直接返回摄氏度和相对湿度。
拿到数据就能玩:配合OLED屏做桌面温湿度计、给大棚写自动浇水/通风逻辑、做温控报警器,都是常见落地。
读数不变或报错?几个高频排查点
最常见的是“一直读到同一个值”或“报错NaN”。先查DATA这根线接对没有、上拉电阻有没有漏;再看电源是不是足(DHT22对供电纹波敏感,尽量不要跟大电流负载抢同一路5V);第三确认库和对象声明里写的是DHT22而不是DHT11,两者时序不一样写错就读不通。
另外新模块第一次上电前几秒读到的值可能不响应,等一两秒再读。DHT22是入门环境监测最划算的一块件,三根线一对、一个库一调,温度和湿度数字就到手了。







供电别跟大电流负载抢一路5V,纹波大会飘
DATA这根单总线建议加个上拉电阻,读数稳
新模块上电头一两秒别急着读,等它醒
对象里声明成DHT11时序不对,会一直NaN