Button 使用按钮作为切换按钮来关闭报警信号器的蜂鸣器

Button 使用按钮作为切换按钮来关闭报警信号器的蜂鸣器,button,arduino,toggle,push,alarm,Button,Arduino,Toggle,Push,Alarm,我正在制作一些我曾经使用过蜂鸣器的东西,每当我的输出设备与输出终端断开连接时,蜂鸣器就会打开, 为了让蜂鸣器静音, 我使用按钮作为切换开关,我将其命名为buttonmute 我希望每当输出断开时,警报就会打开,如果说第一个输出断开,蜂鸣器就会打开,如果我按下静音按钮,蜂鸣器就会关闭,如果第二个输出断开,蜂鸣器就会再次打开,如果我再次按下静音按钮,蜂鸣器就会再次关闭。。与事件确认模式类似。首先,您可能需要一个打开或关闭蜂鸣器的功能。您在下面看到的功能可以执行此操作,同时还可以跟踪当前状态以阻止呼叫

我正在制作一些我曾经使用过蜂鸣器的东西,每当我的输出设备与输出终端断开连接时,蜂鸣器就会打开,
为了让蜂鸣器静音, 我使用按钮作为切换开关,我将其命名为buttonmute
我希望每当输出断开时,警报就会打开,如果说第一个输出断开,蜂鸣器就会打开,如果我按下静音按钮,蜂鸣器就会关闭,如果第二个输出断开,蜂鸣器就会再次打开,如果我再次按下静音按钮,蜂鸣器就会再次关闭。。与事件确认模式类似。

首先,您可能需要一个打开或关闭蜂鸣器的功能。您在下面看到的功能可以执行此操作,同时还可以跟踪当前状态以阻止呼叫,例如尝试启用已启用的蜂鸣器

bool buzzerState = false;
void enableBuzzer(bool newBuzzerState){
  if(buzzerState == newBuzzerState) return; //no change needed
  
  buzzerState = newBuzzerState;
  
  if(newBuzzerState){    //Turn buzzer on/off 
    digitalWrite(buzzerPin,HIGH);
  }else{
    digitalWrite(buzzerPin,LOW);
  }
}
之后,只需调用
启用蜂鸣器(bool newBuzzerState)
函数即可。对于您按下的按钮,它可能如下所示:

void checkPushButton(){
  if(digitalRead(pushButtonInputPin) == LOW){ //If button is pressed
    enableBuzzer(false); //Turn buzzer off
  }
}
您对输出设备的含义不太清楚,但如果您指的是串行监视器,您可以这样做:

void checkSerialMoniter(){
  if(!Serial){ //if disconnected from the device
    enableBuzzer(true); //Turn buzzer on
  }
}
!串行
检查串行监视器是否有串行连接,如果没有,则返回false。因此运行代码

必须定期调用
checkbutdown()
checkserialmonitor()
来检测更改。最简单的方法就是在
void loop()
中调用它们