AM2320温湿度传感器怎么接线?Arduino I2C读取温湿度的用法

2026-10-19 23:02:50 4阅读

想同时拿到温度和湿度,还想要比DHT11更稳、能走I2C总线的方案,AM2320是个很好的选择。它带一颗数字温湿度芯片,支持I2C协议,一根SDA、一根SCL就能读,还能和传感器并联在一条总线上,不会为了读湿度白占两个普通IO。这篇讲接线、I2C地址和读取代码。

AM2320模块引脚和I2C接线

AM2320模块一般引出四个脚:VCC接3.3~5V、GND接地、SDA是数据线、SCL是时钟线。它走I2C协议,I2C地址固定是0x5C。在Arduino UNO上,标准接法就是SDA接A4、SCL接A5,共地即可,几乎不占别的引脚。

这是AM2320和Arduino的接线示意图,SDA/SCL分别接A4/A5两根I2C专用脚。接好之后,用Adafruit_AM2320或AM2320库就能直接读,不需要额外初始化,读的时候调用temperature()和relative_humidity()两个函数拿数值。

读取代码的思路和一次读温湿度

用库的方式是:声明AM2320对象(传入Wire),setup里没太多要做的(数据手册建议首次读做一次唤醒),loop里调readTemperature()和readHumidity()取温湿度,然后显示或上传。AM2320每次读取会测量一次,温度和湿度是同一个传感器测出的,读取频率别太频繁,建议间隔几秒读一次。

如果不想用现成库自己写,就是按I2C地址0x5C,先发唤醒命令、再发读寄存器命令,把高低字节拼成16位整数再除以10得到实际值——比直接用库繁琐,出错也多,一般推荐上库。

可以做点什么

温湿度数据配上OLED显示就是一台桌面温湿度计;加上MQ系列或土壤湿度传感器可以搭温室/种植环境监测;再接个继电器控制加湿器或排风扇,就成了一套自动调节环境的控制盒。AM2320精度比DHT11高、走I2C能挂总线上多个从机,做多点采集或配其他I2C屏同用都很顺手。


作者:工位上的小周
链接:https://www.aiddithome.com/p/7cce396bb8366.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论
阿强焊点总飞
1楼 · 6小时前

走I2C能挂很多从机在一条总线上,做多点采集很顺手

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

比DHT11精度高,配OLED就是一台桌面温湿度计

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

I2C认准A4/A5,地址固定0x5C别搞错

拆机党
4楼 · 6小时前

读的频率别太频繁,间隔几秒读一次温湿度就够用