需要下拉电阻吗?
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;
}
在这种情况下你需要一个下拉电阻。
Arduino的数字输入是高阻抗的,可以做绝缘输入。如果省略电阻,考虑开关打开的情况,Arduino的输入是floating。这意味着数字输入未连接到任何电位。电磁干扰会在您的电路中感应出电流。基本上,由于这种干扰,输入端的电压会从低变高。
要定义输入状态,当开关打开时,您应该添加电阻,以确保输入处于低电平,不受电磁干扰影响。
如果你镜像你的电路,这样开关接地并且电阻连接到Vcc
,你可以通过将输入模式设置为[=11来将上拉电阻移入Arduoin =].此后使用了内部电阻,您可以将电阻放在外面。
我正在使用 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;
}
在这种情况下你需要一个下拉电阻。
Arduino的数字输入是高阻抗的,可以做绝缘输入。如果省略电阻,考虑开关打开的情况,Arduino的输入是floating。这意味着数字输入未连接到任何电位。电磁干扰会在您的电路中感应出电流。基本上,由于这种干扰,输入端的电压会从低变高。
要定义输入状态,当开关打开时,您应该添加电阻,以确保输入处于低电平,不受电磁干扰影响。
如果你镜像你的电路,这样开关接地并且电阻连接到Vcc
,你可以通过将输入模式设置为[=11来将上拉电阻移入Arduoin =].此后使用了内部电阻,您可以将电阻放在外面。