// 定义电位器连接的引脚
const int pot1Pin = 26; // GP26 (ADC0)
const int pot2Pin = 27; // GP27 (ADC1)
// 定义采样次数
const int numSamples = 10;
void setup() {
// 修复:Pico在Wokwi中推荐使用Serial1(对应UART0),并使用115200波特率
// Serial1对应GP0(TX)和GP1(RX),是Wokwi仿真最稳定的串口
Serial.begin(9600);
// 等待串口准备就绪(关键:避免初始化未完成就输出)
while (!Serial) {
delay(10);
}
}
void loop() {
// 读取电位器的平均值
int pot1Value = readAverage(pot1Pin, numSamples);
int pot2Value = readAverage(pot2Pin, numSamples);
// 打印 ADC 值到串口监视器(改为Serial1)
Serial.print("Potentiometer 1: ");
Serial.println(pot1Value);
Serial.print("Potentiometer 2: ");
Serial.println(pot2Value);
Serial.println("-------------------"); // 分隔符,方便查看
// 延迟一段时间以避免数据过快刷新
delay(200);
}
// 读取指定引脚的平均值
int readAverage(int pin, int samples) {
long sum = 0;
for (int i = 0; i < samples; i++) {
sum += analogRead(pin); // 累加采样值
delay(1); // 短暂延迟以稳定采样
}
return sum / samples; // 返回平均值
}
.
上面是adc采样电位器的代码
代码在Wokwi网站上仿真运行很正常,2个电位器的数值变化正确
.
实机开发板型号为yd-rp2040,源地,黑色pcb板
2个20k电位器的连接方法,左和右针脚共用开发板的vcc和agnd,中间针脚连接开发板的26和27
但是代码在arduino上运行时,串口输出信息中,2个电位器的数值变化不正常,而且会互相干扰
const int pot1Pin = 26; // GP26 (ADC0)
const int pot2Pin = 27; // GP27 (ADC1)
// 定义采样次数
const int numSamples = 10;
void setup() {
// 修复:Pico在Wokwi中推荐使用Serial1(对应UART0),并使用115200波特率
// Serial1对应GP0(TX)和GP1(RX),是Wokwi仿真最稳定的串口
Serial.begin(9600);
// 等待串口准备就绪(关键:避免初始化未完成就输出)
while (!Serial) {
delay(10);
}
}
void loop() {
// 读取电位器的平均值
int pot1Value = readAverage(pot1Pin, numSamples);
int pot2Value = readAverage(pot2Pin, numSamples);
// 打印 ADC 值到串口监视器(改为Serial1)
Serial.print("Potentiometer 1: ");
Serial.println(pot1Value);
Serial.print("Potentiometer 2: ");
Serial.println(pot2Value);
Serial.println("-------------------"); // 分隔符,方便查看
// 延迟一段时间以避免数据过快刷新
delay(200);
}
// 读取指定引脚的平均值
int readAverage(int pin, int samples) {
long sum = 0;
for (int i = 0; i < samples; i++) {
sum += analogRead(pin); // 累加采样值
delay(1); // 短暂延迟以稳定采样
}
return sum / samples; // 返回平均值
}
.
上面是adc采样电位器的代码
代码在Wokwi网站上仿真运行很正常,2个电位器的数值变化正确
.
实机开发板型号为yd-rp2040,源地,黑色pcb板
2个20k电位器的连接方法,左和右针脚共用开发板的vcc和agnd,中间针脚连接开发板的26和27
但是代码在arduino上运行时,串口输出信息中,2个电位器的数值变化不正常,而且会互相干扰
