基本上,这个问题的主要目的是了解在门传感器打开(LOW)后如何停止蜂鸣器动作。 (警报开始嗡嗡声后检测门传感器的第一次打开)
但是根据我写的代码,当蜂鸣器响起并且我打开门传感器时,它会停止但是一旦我把它放回去,它就会一直响着。
void alarm1() //E.g. This is the first alarm
{
state = digitalRead(sensor);
if( Hor == 18 && (Min == 13 || Min == 14) && state == LOW) //Comparing the current time with the Alarm time
{
Buzzer();
lcd.clear();
lcd.print("1st Alarm ON");
lcd.setCursor(0,1);
lcd.print("Morning Medicine");
}
else
{ //Once user open the door sensor, the alarm will stop buzzing
noTone(buz);
}
delay(200);
}
答案 0 :(得分:0)
一旦有多个闹钟时间,就变得非常容易了。然后你可以创建一个队列并等待下一个警报。
只要您只有一个闹钟,就必须确保每24小时只触发一次。例如,通过检查时间到毫秒,这样就无法在闹钟时间内关闭门。
有很多方法。考虑一下。一旦你决定做什么,试着去实现它,如果你失败了,回到这里并展示你失败的尝试