NodeMcu关于ADS1115的理解

       这个模块是16为的模拟转数字的模块,该模块是利用I2C进行通信的,根据官网上的资料可以看到四个函数还是比较好理解的。http://nodemcu.readthedocs.io/en/master/en/modules/ads1115/

  根据官网上的Example可知芯片与NodeMcu的连线,外部模拟量输入口有四个,A0,A1,A2,A3,id即为选通第几个通道,本处为0,即应接A0口进行输入;其余alert,sda,scl分别接NodeMcu的D7,D6,D5位

local id, alert_pin, sda, scl =0, 7, 6,5

     根据返回值可知volt是芯片自动计算好的电压值,单位是mv,volt_dec是十进制的电压值,adc是原始电压值,后两个量都是用来计算采样精度的问题,可以暂时不管,我们只需要第一个输出值即可。

     可用NodeMcu上的3V3进行测试,将A0接在3V3上,运行example,可以得出来电压值的测量。

     附上代码,进行连续采集连续输出(用到了定时器的部分)

------------------------------------------
id, alert_pin, sda, scl = 0, 7, 6, 5
i2c.setup(id, sda, scl, i2c.SLOW)
ads1115.setup(ads1115.ADDR_GND)
ads1115.setting(ads1115.GAIN_6_144V, ads1115.DR_128SPS, ads1115.SINGLE_0, ads1115.CONTINUOUS)
function ads()
  volt, volt_dec, adc = ads1115.read()
  print(volt/1000)
end
------------Timer------------------ 
mytimer = tmr.create()
mytimer:register(1000, tmr.ALARM_AUTO , ads)
mytimer:start()

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值