here is my first newbie trial code.
#include <Time.h>
#include <TimeAlarms.h>
#include <TimeLib.h>
#include <RTClib.h>
#include <DS1307RTC.h>
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
setTime(8,29,0,1,1,11); // set time to Saturday 8:29:00am Jan 1 2011 Temporary
while (!Serial) ; // wait until Arduino Serial Monitor opens
setSyncProvider(RTC.get); // the function to get the time from the RTC
if(timeStatus()!= timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
//rtc 1 close
// create the alarms
Alarm.alarmRepeat(8,30,0, MorningAlarm); // 8:30am every day
}
void loop(){
Alarm.delay(100);
digitalClockDisplay();
Alarm.delay(1000); // wait one second between clock display
if (hour()==8 && minute()==30 && second()==0)
{
digitalWrite(LED_BUILTIN, HIGH);
Alarm.delay(1000);
digitalWrite(LED_BUILTIN,LOW);
Alarm.delay(1000);
}
else if (hour()==8 && minute()==40 && second()==0)
{
digitalWrite(LED_BUILTIN,LOW);
}
else
{
digitalWrite(LED_BUILTIN, HIGH);
Alarm.delay(1000);
digitalWrite(LED_BUILTIN,LOW);
Alarm.delay(1000);
}
// functions to be called when an alarm triggers:
}
void MorningAlarm(){
Serial.println("Alarm: - turn pumps off/on");
if (LED_BUILTIN==HIGH)
{digitalWrite(LED_BUILTIN,LOW);
Alarm.delay(1000);}
else
{digitalWrite(LED_BUILTIN,HIGH);
Alarm.delay(1000);}
}
void digitalClockDisplay()
{
// digital clock display of the time
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
}
void printDigits(int digits)
{
Serial.print(":");
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}
this code works when compiled, there seems to be no error, but the output keeps on blinking even at the beginning of time.