NodeMCU:在 ADS1115 ADC 中使用多个通道

问题描述

我在托盘读取 ADS1115 4 通道 ADC 的一个以上通道时遇到问题。您可以定义指定频道的设置:

ads1115.reset()
adc1 = ads1115.ads1115(0,ads1115.ADDR_GND)  -- ADR conectada a GND 
adc1:setting(ads1115.GAIN_6_144V,ads1115.DR_128SPS,ads1115.SINGLE_0,ads1115.SINGLE_SHOT)
adc1:setting(ads1115.GAIN_6_144V,ads1115.SINGLE_1,ads1115.SINGLE_SHOT)

但是阅读时不能选择频道阅读。

volt,volt_dec,raw,sign = adc1:read() or   
adc1:startread([CALLBACK])

在文档中没有提及如何直接执行此操作。但是我找到了一种使用 startread 函数的回调函数来实现的方法:在第一次读取之后,在回调函数中可以更改设置,然后您可以使用第二个通道发送另一个 startread。

adc1:setting(ads1115.GAIN_6_144V,ads1115.SINGLE_SHOT)
-- start adc conversion and get result of thye first channel in callback after conversion is ready
adc1:startread(function(volt,adc,sign)
-- change settings for the second channel inside the callback
    adc1:setting(ads1115.GAIN_6_144V,ads1115.SINGLE_SHOT)
-- start adc conversion and get result of the second channel in callback after conversion is ready
        adc1:startread(function(v_cel,sign) end)
end)

以防万一有人觉得它有用 电子健康

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)