#include <Wire.h>
#include <ds3231.h>
struct ts t;
void setup() {
// relay board 1:
digitalWrite(25, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
// relay board 2:
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
digitalWrite(24, LOW);
// define output:
pinMode(25, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(22, OUTPUT);
pinMode(23, OUTPUT);
pinMode(24, OUTPUT);
// define clk:
Serial.begin(9600);
Wire.begin();
DS3231_init(DS3231_CONTROL_ADDR);
/*----------------------------------------------------------------------------
In order to synchronise your clock module, insert timetable values below !
----------------------------------------------------------------------------*/
t.hour=6;
t.min=29;
t.sec=50;
t.mday=25;
t.mon=11;
t.year=2022;
DS3231_set(t);
}
void loop() {
//start with clk
DS3231_get(&t);
Serial.print("\t Hour : ");
Serial.print(t.hour);
Serial.print(":");
Serial.print(t.min);
Serial.print(".");
Serial.println(t.sec);
//if the time is what us set:
if(t.hour==6){
if(t.min==30){
if(t.sec==0){
Serial.print("\t its time...");
//do this:
//PC1
digitalWrite(25, HIGH);
delay(500);
digitalWrite(25, LOW);
//PC2
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
//PC3
digitalWrite(3, HIGH);
delay(500);
digitalWrite(3, LOW);
//PC4
digitalWrite(4, HIGH);
delay(500);
digitalWrite(4, LOW);
//PC5
digitalWrite(5, HIGH);
delay(500);
digitalWrite(5, LOW);
//PC6
digitalWrite(6, HIGH);
delay(500);
digitalWrite(6, LOW);
//PC7
digitalWrite(7, HIGH);
delay(500);
digitalWrite(7, LOW);
//PC8
digitalWrite(8, HIGH);
delay(500);
digitalWrite(8, LOW);
//PC9
digitalWrite(9, HIGH);
delay(500);
digitalWrite(9, LOW);
//PC10
digitalWrite(10, HIGH);
delay(500);
digitalWrite(10, LOW);
//PC11
digitalWrite(11, HIGH);
delay(500);
digitalWrite(11, LOW);
//PC12
digitalWrite(12, HIGH);
delay(500);
digitalWrite(12, LOW);
//PC13
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
//PC14
digitalWrite(22, HIGH);
delay(500);
digitalWrite(22, LOW);
//PC15
digitalWrite(23, HIGH);
delay(500);
digitalWrite(23, LOW);
//PC16
digitalWrite(24, HIGH);
delay(500);
digitalWrite(24, LOW);
}
}
}
delay(50);
}