Arduino binära väckarklocka (11 / 16 steg)
Steg 11: Alarm och snooze kod
Om larmet är aktivt (alarm_on variabeln är satt till true), funktionen alarm() kontrollerar om den aktuella tiden är samma som inställd alarmtid. Om det är variabeln signal_on sätts till true. Om variabeln signal_on är sant, kommer funktionen anropa funktionen play_melody().Om snooze är aktiv kommer alarmfunktionen också kontrollera om den aktuella tiden är samma som snooze off tid, och i så fall starta om larmsignalen.
____________________________________________________________________
Funktionen alarm():
"INRE" VARIABLER FÖR ALARMFUNKTIONEN:
booleska first_time_signal_on = sant; för att göra shure signalen är
först en gång, så att du kan
snooze utan larmet start igen
imidiately.
void alarm()
{
IF(alarm_on)
{
Kontrollera om tiden är samma som alarmtid:
om (timmar == alarm_hours & & minuter == alarm_minutes & & first_time_signal_on)
{
i så fall aktivera larmsignalen:
signal_on = sant;
first_time_signal_on = false;
}
IF(signal_on)
{
play_melody();
}
titta i buttons() för snooze-knappen och larmet av-knapp
IF(snooze_on)
{
Kontrollera om tiden är samma som snooze-tid:
om (timmar == snooze_off_hours & & minuter == snooze_off_minutes)
{
så, Stäng av snooze och starta om larmsignal:
snooze_on = false;
signal_on = sant;
}
} }
annat
{
Återställ så att larmet fungerar nästa gång:
first_time_signal_on = sant;
}
}
_____________________________________________________________________