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

Arduino读取多电位器数值异常:三电位器读数始终相同求助

问题分析与解决建议

代码层面核心错误

你代码中的v0、v1、v2三个变量未声明,仅定义了存储电压的vl0、vl1、vl2。在Arduino的C++环境中,未声明的变量会被编译器默认当作全局int类型处理,这种隐式声明会导致内存分配异常,最终三个变量可能指向同一块内存空间,因此读数完全一致。

修正后的代码

// 声明所有需要用到的变量
int v0, v1, v2;
float vl0, vl1, vl2 = 0;  

void setup() {
  Serial.begin(9600);
}

void loop() {
  v0 = analogRead(A0);           
  v1 = analogRead(A1);           
  v2 = analogRead(A2);           
  vl0 = (v0 * 5.00 / 1023.00);   
  vl1 = (v1 * 5.00 / 1023.00);   
  vl2 = (v2 * 5.00 / 1023.00);   

  Serial.print(vl0);
  Serial.print("V / ");
  Serial.print(vl1);
  Serial.print("V / ");
  Serial.print(vl2);
  Serial.println("V");

  delay(1000);
}

硬件排查建议

若修正代码后问题仍存在,检查以下硬件接线:

  • 每个电位器的三个引脚是否正确连接:一端接5V,一端接GND,中间抽头接对应模拟引脚(A0/A1/A2)
  • 确认三个电位器的抽头未误接到同一个模拟引脚上
  • 单独测试每个电位器,排查是否存在硬件损坏

内容的提问来源于stack exchange,提问作者Massiel Angulo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:02:50