You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Raspberry Pi 4使用4路INA219传感器I2C地址配置问题求助

排查步骤与解决建议

一、硬件接线排查

  • 确认A0/A1引脚配置:INA219的A0、A1通过接GND/VCC/SDA/SCL的组合生成不同地址(比如GND+GND对应0x40,GND+VCC对应0x41,VCC+GND对应0x44,VCC+VCC对应0x45),要保证每个传感器的接线完全匹配你预设的地址,无虚焊、松动。
  • 电源与共地检查:INA219的VCC必须接树莓派3.3V引脚,禁止接5V;所有传感器的GND必须和树莓派GND共地,这是I2C通信的核心前提。
  • SDA/SCL接线确认:树莓派4的SDA是GPIO2(引脚3),SCL是GPIO3(引脚5),确保所有传感器的SDA统一接树莓派SDA,SCL统一接树莓派SCL,无接反。

二、I2C总线检测

  • 先安装I2C工具:在终端执行sudo apt-get update && sudo apt-get install i2c-tools
  • 扫描总线:执行sudo i2cdetect -y 1(树莓派4的I2C总线编号为1),如果扫描结果里没有你预设的地址,直接回到硬件排查;若部分地址出现,对应传感器接线正常,未出现的则是接线问题。
  • 异常情况处理:如果扫描出0x00或大量随机地址,大概率是SDA/SCL与GND短路,立即检查接线。

三、代码调试

  • 确保库安装正确:常用的adafruit-circuitpython-ina219库可通过pip3 install adafruit-circuitpython-ina219安装
  • 明确指定传感器地址:示例代码如下
import board
from adafruit_ina219 import INA219

# 根据你的A0/A1配置初始化对应地址的传感器
ina_sensor1 = INA219(board.SCL, board.SDA, address=0x40)
ina_sensor2 = INA219(board.SCL, board.SDA, address=0x41)
ina_sensor3 = INA219(board.SCL, board.SDA, address=0x44)
ina_sensor4 = INA219(board.SCL, board.SDA, address=0x45)

# 测试读取数据
print("传感器1总线电压: {}V".format(ina_sensor1.bus_voltage))
print("传感器2总线电压: {}V".format(ina_sensor2.bus_voltage))
  • 报错处理:若出现OSError: [Errno 121] Remote I/O error,说明对应地址的传感器硬件未连接到位,优先排查该传感器的接线。

四、常见坑点

  • 启用I2C后需重启树莓派,执行sudo reboot后再重新扫描总线
  • 若总线上还有其他I2C设备,可在SDA/SCL与3.3V之间添加4.7kΩ上拉电阻(INA219内置上拉,但多设备场景下可能需要额外补充)
  • 单独测试单个传感器:将一个传感器的A0/A1接GND(默认地址0x40),如果仍无法识别,大概率是传感器损坏

内容的提问来源于stack exchange,提问作者Geopam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 16:29:58