ADS1115数模转换模块与树莓派连接

 在这里想介绍一下ADS1115模块:为撒要加一个数模转换模块

使用Raspberry Pi读取输出模拟信号

由于Raspberry Pi zero 2B内部没有集成ADC,因此需要外接 ADC 来进行模数转换。外接 ADC 选用的是 ADS1115, I2C 的通讯方式实现起来相对容易些。
简单介绍一下ADS模拟-数字转换器

特点:


1)超小型QFN封装:2mm1.5mm0.4mm
2)宽电源电压范围:2.0V-5.5V
3)低消耗电流:连续模式:只有150u单次模式,自动关闭
4)可编成数据速率:8SPS到860SPS
5)内部底漂移电压基准
6)内部振荡器
7)内部PGA
8)I2C接口:引脚可选择的地址
9)四个单端或两个差分输入(ADS1115)
10)可编成比较器(ADS1114和ADS1115)
11)工作温度:-40摄氏度到+140摄氏度

应用

1)便携式仪表
2)消费品
3)电池监控
4)温度测量
5)工厂自动化和过程控制

引脚与地址访问

根据ADDR引脚连接不到不同的引脚上,其I2C的访问地址是不同的:


当ADDR引脚连接到GND时,地址为:0x48(0100, 1000B)
当ADDR引脚连接到VDD时,地址为:0x49(0100, 1001B)
当ADDR引脚连接到SDA时,地址为:0x4A(0100, 1010B)
当ADDR引脚连接到SCL时,地址为:0x4B(0100, 1011B)


根据以上可以得到,我们一个I2C接口单层级联,可以同时连接4个ADS1115,也就是单层一个I2C接口可以同时测量16路16位的模拟电压量。

对RaspberryPI zero 2W和ADS1115进行配置的关键部分代码如下:


import board
import busio
import time
i2c = busio.I2C(board.SCL, board.SDA)
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn
ads = ADS.ADS1115(i2c)
chan = AnalogIn(ads, ADS.P2)
while True:
    print(chan.value)
time.sleep(0.1)

这段代码使用了RaspberryPI zero 2W的I2C接口读取ADS1115模块的模拟输入信号。通过将信号输入到P2通道,使用AnalogIn库读取模拟输入电压的值。while True循环不断地读取并打印电压值,每0.1秒更新一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值