需要下拉电阻吗?

Pull-down resistor is needed?

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

目前系统如下图:

一段代码:

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;
}

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

A​​rduino的数字输入是高阻抗的,可以做绝缘输入。如果省略电阻,考虑开关打开的情况,Arduino的输入是floating。这意味着数字输入未连接到任何电位。电磁干扰会在您的电路中感应出电流。基本上,由于这种干扰,输入端的电压会从低变高。

要定义输入状态,当开关打开时,您应该添加电阻,以确保输入处于低电平,不受电磁干扰影响。

如果你镜像你的电路,这样开关接地并且电阻连接到Vcc,你可以通过将输入模式设置为[=11来将上拉电阻移入Arduoin =].此后使用了内部电阻,您可以将电阻放在外面。