需要下拉电阻吗?

时间:2017-08-22 20:11:27

标签: arduino hardware

我在 Arduino One 中使用attachInterrupt()功能来识别执行器的极限。通常我将其测试为if(),但执行器周期非常快,因此识别变得复杂。因此我选择使用attachInterrupt(),但我不知道在中断的情况下,我必须在输入端使用下拉电阻。有人可以告诉我这是否需要?

目前系统如下所示:

enter image description here

一段代码:

attachInterrupt(digitalPinToInterrupt(interruptPin2), EndCourse2, FALLING);
attachInterrupt(digitalPinToInterrupt(interruptPin3), EndCourse3, FALLING);

void EndCourse2() {
  digitalWrite(12,LOW);
  btnpressed2=0;
}

void EndCourse3() {
  if(btnpressed2==0) {
    digitalWrite(12,HIGH);
    CounterAT2++;
  }
  btnpressed2=1;
}

1 个答案:

答案 0 :(得分:2)

在这种情况下你需要一个下拉电阻。

Arduino的数字输入具有高阻抗,可以是绝缘输入。如果省略电阻并考虑开关打开时的情况,则Arduino的输入为浮动。这意味着数字输入未连接到任何电位。电磁干扰会在电路中产生电流。基本上,由于这种干扰,输入端的电压可以从低变为高。

要定义输入状态,当开关打开时,应添加电阻,确保输入电压低,不受电磁干扰。

如果镜像电路,使开关接地并且电阻连接到Vcc,则可以通过将输入模式设置为INPUT_PULLUP将上拉电阻移动到Arduoin中。 。从那时起,使用内部电阻,可以将电阻器放在外面。