#include <Wire.h>
#include <I2C_RTC.h>
#include <SoftwareSerial.h>
SoftwareSerial cam(7, 8);
static DS3231 RTC;
bool alarm = false;
#define relay1 2 //for UV
#define relay2 3 //for FAN
#define relay3 4 //for Alarm
//#define relay3 5 //
String alarm_read = "";
void setup()
{
Serial.begin(9600);
cam.begin(115200);
RTC.begin();
RTC.setDay(22);
RTC.setMonth(5);
RTC.setYear(2020);
RTC.setHours(6);
RTC.setMinutes(47);
RTC.setSeconds(56);
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
alarm_read = Serial.readString();
Serial.println(alarm_read);
delay(2000);
}
if (alarm_read.indexOf("yes") != -1) {
digitalWrite(relay3, HIGH);
Serial.println("motion detected");
}
if (alarm_read.indexOf("no") != -1) {
digitalWrite(relay3, LOW);
Serial.println("no motion detected");
}
Serial.print(" ");
Serial.print(RTC.getDay());
Serial.print("-");
Serial.print(RTC.getMonth());
Serial.print("-");
Serial.print(RTC.getYear());
Serial.print(" ");
Serial.print(RTC.getHours());
Serial.print(":");
Serial.print(RTC.getMinutes());
Serial.print(":");
Serial.println(RTC.getSeconds());
if (RTC.getHours() <= 5 and RTC.getHours() >= 18) {
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
} else {
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
}
delay(500);
}