像其他单片机一样,RP2040一样提供了ADC功能,

不过,RP2040 共有 5 个 ADC 通道,其中 4 个(GPIO26-GPIO29)用于外部模拟输入,1 个用于内部温度传感器。

GPIO29在RP2040开发板上没有提供。
在MicroPython下,使用可变电阻测试GPIO26、GPIO27、GPIO28,这三个端子我并联了,接在可变电阻调节端。AGND接GND,ADC_VREF接到3.3V输出端上。可变电阻三端分别接在3.3V、GND和ADC输入端。
测试代码如下:
from machine import Pin, ADC
from time import sleep
# 1. 初始化 ADC 引脚
adc0 = ADC(Pin(26))
adc1 = ADC(Pin(27))
adc2 = ADC(Pin(28))
# RP2040 的 ADC 返回值为 0-65535 (16位)
# 参考电压为 3.3V
CONV_FACTOR = 3.3 / 65535
while True:
# 2. 读取原始数值 (0 - 65535)
raw_value0 = adc0.read_u16()
raw_value1 = adc1.read_u16()
raw_value2 = adc2.read_u16()
# 3. 计算电压值
voltage0 = raw_value0 * CONV_FACTOR
voltage1 = raw_value1 * CONV_FACTOR
voltage2 = raw_value2 * CONV_FACTOR
print(f"ADC Value: {raw_value0:5d} Voltage: {voltage0:.2f} V, {raw_value1:5d} Voltage: {voltage1:.2f} V, {raw_value2:5d} Voltage: {voltage2:.2f} V")
sleep(1)测试结果:

稳定性和一致性都相当好。
我要赚赏金
