Other Parts Discussed in Thread: ADS1115
器件型号: ADS1115
大家好、我正在使用四个 ADS1115 ADC、它们使用 Arduino 和 I2C 通信连接到 ESP32 DevKit V1。 我已按如下方式配置每个 ADS1115 的 ADDR 引脚、以便根据数据表获取 I2C 地址:
- ADDR 到 GND→地址 0x48
- ADDR 到 VDD→地址 0x49
- ADDR 到 SDA→地址 0x4A
- ADDR 到 SCL→地址 0x4B
所有四个芯片的连接方式相同、具有相同的寄存器配置和相同的代码。 唯一的区别是在脚本中为每个地址指定的 I2C 地址 (ADDR)。
连接到 SCL (0x4B) 和 SDA (0x4A) 的 ADS1115 可正常工作并读取精确的值。 但是、连接到 VDD (0x49) 和 GND (0x48) 的 ADS1115 显示的读数不正确:当读数应为 0V 时、读数约为–0.7V、而当读数为 5V 时、读数约为 2V。
我已确认与所有四个地址成功进行了 I2C 通信 (ping)、并验证了寄存器是否根据配置正确读取。 该代码适用于所有器件。
我怀疑问题与软件无关。 什么可能会导致连接到 VDD 和 GND 的两个 ADS1115 的测量出现这种差异?
