You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CircuitPython环境下Raspberry Pi Pico搭配ADS1115使用方法咨询

完全可以适配。ADS1115是16位精度的4通道I2C接口ADC,刚好能补上Pico自带3路模拟输入的缺口,满足你4路采集的需求,CircuitPython有成熟的对应驱动,不需要自己写底层通信逻辑,实操步骤如下:

硬件接线

按如下对应关系接Pico和ADS1115模块即可:

  • ADS1115 VCC → Pico 3.3V输出引脚(严禁接5V,Pico IO为3.3V电平,接5V有烧坏风险)
  • ADS1115 GND → Pico GND引脚
  • ADS1115 SCL → Pico GP1(I2C0默认SCL引脚)
  • ADS1115 SDA → Pico GP0(I2C0默认SDA引脚)
  • ADS1115 ADDR → Pico GND,此时ADS1115的I2C地址固定为0x48,不需要额外做地址配置
环境准备
  • 先确认Pico已经正常刷入对应版本的CircuitPython固件,连接电脑后能正常识别出CIRCUITPY可移动磁盘
  • 从你使用的CircuitPython版本对应的官方库Bundle中,找到adafruit_ads1x15文件夹、adafruit_bus_device文件夹,将这两个内容直接拷贝到CIRCUITPY盘下的lib目录中,不需要额外安装其他依赖
测试代码

将以下代码保存为code.py放到CIRCUITPY盘根目录,打开串口控制台即可看到4个通道的电压采集值:

import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn

# 初始化I2C总线,引脚对应前面的接线
i2c = busio.I2C(board.GP1, board.GP0)
# 初始化ADS1115,默认地址0x48、增益1、128SPS采样率
ads = ADS.ADS1115(i2c)

# 初始化4路单端模拟输入通道
ch0 = AnalogIn(ads, ADS.P0)
ch1 = AnalogIn(ads, ADS.P1)
ch2 = AnalogIn(ads, ADS.P2)
ch3 = AnalogIn(ads, ADS.P3)

while True:
    # 可通过.voltage获取换算后的实际电压值,通过.raw_value获取原始16位采样数字量
    print(
        f"CH0: {ch0.voltage:.2f}V | CH1: {ch1.voltage:.2f}V | "
        f"CH2: {ch2.voltage:.2f}V | CH3: {ch3.voltage:.2f}V"
    )
    time.sleep(0.5)
注意事项
  • 所有接入ADS1115模拟通道的信号电压不要超过3.3V,否则有烧坏芯片和Pico的风险
  • 精度调整:如果你的输入信号范围小于3.3V,可以在初始化ADS1115时传入gain参数提升采样分辨率,比如输入信号最大为1.024V时设置gain=4,增益和对应量程的对应关系可直接查看驱动文件内的注释
  • 采样率调整:默认128次/秒的采样率可满足绝大多数低速传感器采集场景,需要更高采集速度时可传入data_rate参数,最高支持860次/秒
  • 如果运行时提示I2C通信错误,优先检查接线是否虚接、ADS1115和Pico是否共GND,这类问题占通信故障的90%以上

内容的提问来源于stack exchange,提问作者Strimis 10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 06:51:21