I have updated my main code, but when I turn it on, the alarm goes three times about 10s apart. When I turn pin 2 high, it sounds the alarm 6 times very fast. After this the program seems to stop.
//This program recieves a 1 second pulse at midnight for syncronization
//Alarms are referenced off that event
//The alarms sound a buzzer for one second on pin 13
//The circuit recieves a pulse on pin 2
#include "Time.h"
#include "TimeAlarms.h"
const int midnightPin= 2;
const int timerPin= 13;
const int buzzerPin= 4;
int midnightState=0;
void setup()
{
pinMode(midnightPin, INPUT);
pinMode(timerPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
Alarm.alarmRepeat(0,00,10,MeetingOne);
Alarm.alarmRepeat(0,00,20,MeetingTwo);
Alarm.alarmRepeat(0,00,40,MeetingThree);
Alarm.alarmRepeat(0,00,59,MeetingFour);
Alarm.alarmRepeat(9,30,0,MeetingFive);
Alarm.alarmRepeat(10,00,0,MeetingSix);
Alarm.alarmRepeat(10,30,0,MeetingSeven);
Alarm.alarmRepeat(11,00,0,MeetingEight);
Alarm.alarmRepeat(15,00,0,MeetingNine);
}
void MeetingOne()
{
digitalWrite(timerPin, HIGH);
digitalWrite(buzzerPin, HIGH);
Alarm.delay(90);
digitalWrite(timerPin, LOW);
Alarm.delay(910);
digitalWrite(buzzerPin, LOW);
}
void MeetingTwo()
{
digitalWrite(timerPin, HIGH);
digitalWrite(buzzerPin, HIGH);
Alarm.delay(90);
digitalWrite(timerPin, LOW);
Alarm.delay(910);
digitalWrite(buzzerPin, LOW);
}
void MeetingThree()
{
digitalWrite(timerPin, HIGH);
digitalWrite(buzzerPin, HIGH);
Alarm.delay(90);
digitalWrite(timerPin, LOW);
Alarm.delay(910);
digitalWrite(buzzerPin, LOW);
}
void MeetingFour()
{
digitalWrite(timerPin, HIGH);
digitalWrite(buzzerPin, HIGH);
Alarm.delay(90);
digitalWrite(timerPin, LOW);
Alarm.delay(910);
digitalWrite(buzzerPin, LOW);
}
void MeetingFive()
{
digitalWrite(timerPin, HIGH);
digitalWrite(buzzerPin, HIGH);
Alarm.delay(90);
digitalWrite(timerPin, LOW);
Alarm.delay(910);
digitalWrite(buzzerPin, LOW);
}
void MeetingSix()
{
digitalWrite(timerPin, HIGH);
digitalWrite(buzzerPin, HIGH);
Alarm.delay(90);
digitalWrite(timerPin, LOW);
Alarm.delay(910);
digitalWrite(buzzerPin, LOW);
}
void MeetingSeven()
{
digitalWrite(timerPin, HIGH);
digitalWrite(buzzerPin, HIGH);
Alarm.delay(90);
digitalWrite(timerPin, LOW);
Alarm.delay(910);
digitalWrite(buzzerPin, LOW);
}
void MeetingEight()
{
digitalWrite(timerPin, HIGH);
digitalWrite(buzzerPin, HIGH);
Alarm.delay(90);
digitalWrite(timerPin, LOW);
Alarm.delay(910);
digitalWrite(buzzerPin, LOW);
}
void MeetingNine()
{
digitalWrite(timerPin, HIGH);
digitalWrite(buzzerPin, HIGH);
Alarm.delay(90);
digitalWrite(timerPin, LOW);
Alarm.delay(910);
digitalWrite(buzzerPin, LOW);
}
void loop()
{
midnightState = digitalRead(midnightPin); //reads the pulse
if (midnightState == HIGH) {
setTime(23,59,0,1,1,10); //sets time to one second before midnight
Alarm.delay(0);
}
}