Arduino 在断开的引脚中有输入值

电器工程 Arduino ADC 电压测量
2022-01-19 04:58:25

我是arduino的新手。也许是一个基本问题...

如果我加载这个程序:

int mval = 0;
void setup() {
  Serial.begin(9600);
  // set up the LCD's number of columns and rows: 

}

void loop() {

  mval = analogRead(1);
  Serial.println(mval);

  delay(1000);
 }

我得到一个在 300 和 400 之间变化的值。当我认为它必须为 0 时,因为该输入没有任何连接。

有任何想法吗??这是一个通过 USB 连接到我的笔记本电脑的 arduino UNO

2个回答

你得到了一种叫做“浮动输入”的东西。仔细想想,测量输入的理想设备将具有非常高的输入阻抗,因此不会从引脚上带走太多电流。

所以发生的情况是随机电子漂浮在引脚上(或离开)(来自环境中的电磁干扰或直接接触带少量电荷的东西),因为它就像一个非常高的电阻连接到接地,此电荷将非常缓慢地流失。因此,当您去测量它时,看起来那里有一些电压!一般来说,你要么把它连接到一些提供电压的设备上,要么你放一个上拉或下拉电阻并调整你对该引脚的期望。

我希望这会有所帮助,如果没有,我确定有人与另一个更胜任地回答了这个问题的人有联系(我在相关部分看到至少一个几乎相同的问题)。

输入是“浮动的”,因为没有任何东西可以以一种或另一种方式“拉”电压。
这是完全正常的。如果您将一个高阻抗下拉电阻器(例如 10k)从引脚连接到地,它将在没有连接任何东西时停止这样做(尽管没有真正需要这样做,因为当什么都没有时您不会阅读它连接的 ;-))