AHT20温湿度传感器怎么接线?Arduino I2C读地址0x38避坑

2026-10-17 08:48:12 65阅读

做气象站、温室大棚、或者给设备加上“卡湿度”的保护功能,一块准一点的温湿度传感器很关键。AHT20是这几年 DIY 里用得越来越多的国产温湿度模块,精度不错、价格便宜,走I2C接口。这篇文章把接线和几个坑讲清楚。

AHT20温湿度传感器与Arduino I2C接线图

引脚认识:四根线两个信号

AHT20模块一般引出VCC、GND、SCL、SDA四个脚。VCC接Arduino的3.3V或5V,GND接GND,SCL和SDA分别接I2C的时钟和数据线。在Uno上就是A5和A4,很多用ESP32的也可以直接接I2C默认脚。

它走路的是标准的I2C协议,和很多传感器不同的是,它的默认地址是0x38——这一点要特别注意,因为很多I2C芯片默认是0x76或者0x40,照抄错误的库或地址就读不出来了。

AHT20温湿度传感器应用场景

接线之后,代码两件事

第一件是初始化:给模块上电后要稍等一下,让内部振荡器稳定,再发初始化命令。过早读取常常返回异常数据,这是AHT20的常见坑,很多教程都提醒上电后先延迟几十到几百毫秒。

第二件是读取流程:先发触发测量命令,再读回6个字节的原始数据,最后用官方给出的校准公式把那几个字节换算成温度和湿度百分比。用现成的Adafruit AHT20库或国产库,这几步都是封装好的,直接读temperature和humidity就行。

三个高频坑提前避开

坑一:地址是0x38不是0x76,拷贝别人的ESP3266代码贴过来就会出错。

坑二:测量间隔不要太密,AHT20每次测量后需要一点恢复时间,连着狂读会读到上次数值或失败码。

坑三:传感器怕结露,直接暴露在高湿度水汽里久了会读数漂移甚至失效,做环境箱要给它一些通风或遮挡处理。

搞定这些,一个自动补湿的小温室、一个带湿度的天气盒子,都能很快搭起来。


作者:电机传感器师
链接:https://www.aiddithome.com/p/17e0fa46fc103a.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论
深圳打工人Alan
1楼 · 2026-10-17 08:48:14

高湿结露会漂移,做温室箱一定要给传感器留通风,别闷着

锡点
2楼 · 2026-10-17 08:48:13

上电后要等一会儿再读,我急着读返回一堆异常数据,真事

胶佬憨憨
3楼 · 2026-10-17 08:48:13

测量太密会读到旧值,加个恢复时间就正常了,这个细节很关键

拆机党
4楼 · 2026-10-17 08:48:12

地址是0x38不是0x76,我抄通用I2C代码读半天读不出来,卡了一晚上