主题中讨论的其他器件: ADS1115
您好!
我对如何控制 ADS1113几乎不会感到困惑。 我不知道是硬件问题还是软件问题、因此我将从电路开始。
我测试了多路复用器是否正常工作、 我使用的是 S16A 和 S16B:
测试1 ->我对 S16B 施加3.3V 电压并让 S16A 悬空、ADC 返回大约22300个计数(~ 2.8V)、我使用万用表测试了 S16B 上的电压、是3.3V、但在 S16A 上测试时、电压为1.23V 、这是怎么可能的?
测试2 -> 我对 S16A 施加3.3V 电压并让 S16B 悬空、ADC 返回大约22300个计数(~-2.8V)为负值、我使用万用表测试了 S16A 上的电压、为3.3V、但当我在 S16B 上测试时、电压也为1.23V
测试3 ->我对 S16B 施加3.3V 电压,对 S16A 施加 GND,ADC 返回大约32767个计数(~ 4.096V)
测试4 -> 我对 S16A 施加3.3V 电压,对 S16B 施加 GND,ADC 返回大约32767个计数(~-4.096V)为负值
测试5 -> I 悬空 S16A 和 S16B、并将每个引脚 AIN0和 AIN1的测量电压连接到 GND、每个引脚返回1.23V
现在、让我们来讨论一下软件、首先我使用的是 ADS1115 python Adafruit 库、一旦我获得了这些读数、我就使用自己的代码尝试了、我就会获得相同的读数
导入 smbus
导入时间
总线= smbus.SMBus (1)
BUS.WRITE_WORD_DATA (0x48、0x01、54147)
时间睡眠(1)
Val 交换= bus.read_word_data (0x48、0x00)
Val =(val 交换和0xFF)<< 8 |(val 交换>> 8)
我不知道它会发生什么错误
