门传感器打开后如何停止蜂鸣器

时间:2017-10-25 10:34:28

标签: arduino

基本上,这个问题的主要目的是了解在门传感器打开(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);
} 

1 个答案:

答案 0 :(得分:0)

一旦有多个闹钟时间,就变得非常容易了。然后你可以创建一个队列并等待下一个警报。

只要您只有一个闹钟,就必须确保每24小时只触发一次。例如,通过检查时间到毫秒,这样就无法在闹钟时间内关闭门。

有很多方法。考虑一下。一旦你决定做什么,试着去实现它,如果你失败了,回到这里并展示你失败的尝试