Answers:
当按此配置连接按钮时,输入就是所谓的float,这意味着它不是0或1。按下按钮时,它接地,因此绝对是0,但是没有按下时,我们不知道引脚的值。
我们需要包括一个所谓的“上拉”电阻,以便在不按下按钮时将信号上拉至逻辑1。
这意味着当不按下按钮时,Arduino会读取逻辑1。当按下按钮时,电流会流过电阻器接地,而Arduino会读取逻辑0。
Arduino还具有内部上拉电阻,因此您不必在电路中添加额外的组件。有两种使用方法。
您以前必须这样做:
pinMode(pin, INPUT); // set pin to input
digitalWrite(pin, HIGH); // turn on pullup resistors
现在,我们只需一行即可完成此操作:
pinMode(pin, INPUT_PULLUP);
这将在该引脚上启用20k上拉电阻。当不按下按钮时,输入将不再是浮动的。
注意:这仅在另一端接地时才有效。