即使if语句为false,Pin也会不断播放声音

时间:2017-04-27 14:54:15

标签: arduino arduino-uno

const int buzzer=6;
const int switchPin=3;


void setup() {
  pinMode(switchPin,INPUT);
}

void loop() {
  int switchState;

  switchState=digitalRead(switchPin);

  if(switchState == HIGH) {
    tone(buzzer,324);
  } else {
    noTone(buzzer);
  }
}

当我将蜂鸣器插入引脚6时,即使引脚3没有连接,它仍然会发出嗡嗡声。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

这似乎是一个PullUp / Down电阻问题。

在电子逻辑电路中使用上拉电阻,以确保在外部器件断开或高阻抗时,arduino的输入稳定在预期的逻辑电平。 “仅仅因为你没有任何东西连接到输入引脚并不意味着它是一个逻辑零。”

了解详情here