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()
中调用它们