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

云台四足控硬件DIY 2026-10-16 22:57:01 1阅读 举报

做温室大棚、储物柜、家电里的温湿度检测,以前大家爱用DHT11,但它的精度和稳定性确实是软肋。Sensirion的SHT30这颗数字温湿度传感器,走真正的I2C接口,精度能做到±2%RH和±0.2℃,还便宜,已经被不少玩家当成DHT11的升级替代。这篇把接线和地址说清楚。

SHT30凭啥能替代DHT11

SHT30集成了电容式湿度片和带隙温度计,出厂就校准好还做了线性补偿,湿度范围0到100%RH、温度-40到125℃,读起来又快又稳。加上它走标准I2C,挂在总线上想加几颗就加几颗,不用像DHT那样自己卡时序去读,省心太多。

SHT30怎么接线

模块四个脚就够了:VCC接5V或3.3V都行(工作电压2.15到5.5V)、GND接地、SDA接Arduino的A4、SCL接A5。部分板子还带INT报警脚和RST复位脚,普通读取用不上,先空着就好。上图就是标准的I2C接法,照着拉四根线就完事。

I2C地址0x44还是0x45

SHT30的I2C地址可以通过ADR脚改:ADR接地时地址是0x44,ADR接VDD时是0x45。绝大多数模块默认是0x44,但如果扫描总线上读到的是0x45,多半是ADR被拉高了。初始化代码里把地址填对才能读出来。

用库读取和避坑

库可以用Adafruit_SHT31或者DFRobot_SHT3x,初始化时按地址建对象,loop里读温度和湿度就行,数据还能直接送OLED显示。这里提醒一个坑:I2C总线如果还挂了别的传感器,注意别和SHT30抢地址,两个0x44会冲突;真要挂多颗就改ADR分地址。接线四根、地址认准,一个准得多的温湿度采集就做好了。

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


登录 后发表评论
3条评论
探头看一眼
1楼 · 1小时前

便宜精度还高,我把库房监测换它之后稳了不少

阿强焊点总飞
2楼 · 1小时前

真I2C确实比DHT11省心,不用自己卡时序去读了

第三次终于亮了
3楼 · 1小时前

地址0x44别和0x45搞混,ADR是接地还是接VDD要看清楚