如何解决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 举报,一经查实,本站将立刻删除。