Sorry for replying late i was trying out what you guys had suggested, but I was not able to find the solution and messed up everything. Here is my (new)
`#include <EEPROM.h>
#include "RTClib.h"
const int buzzar = 12;
RTC_DS3231 rtc;
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
String hi;
String SB = "Short";
String LB = "Long";
String hello = "";
String Mon = " ";
String Tue = " ";
String Wed = " ";
String Thu = " ";
String Fri = " ";
String Sat = " ";
String Sun = " ";
String Time;
String Time1;
String Time2 =":";
String Time3;
int one = 1;
int two = 2;
int three = 3;
int four = 4;
int five = 5;
int six = 6;
int seven = 7;
void Save(int address, String hello){
byte len = hello.length();
EEPROM.write(address,len);
for (int i = 0; i < len; i++) {
EEPROM.write(address + 1 + i, hello[i]);
}
}
String give(int address){
int len = EEPROM.read(address);
char data[len + 1];
for (int i = 0; i < len; i++){
data[i] = EEPROM.read(address + 1 + i);
}
data[len] = '\0';
return String(data);
}
void Read(){
while(!Serial.available()){}
hi = Serial.readString();
}
void setup() {
Serial.begin(9600);
Read();
DateTime now = rtc.now();
pinMode(12, OUTPUT);
#ifndef ESP8266
while (!Serial);
#endif
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
while (1) delay(10);
}
if (rtc.lostPower()) {
Serial.println("RTC lost power, let's set the time!");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}
void loop() {
while(!Serial.available()){}
hi = Serial.readString();
Serial.println(hi);
timings();
}
void timings(){
DateTime now = rtc.now();
Time = now.hour();
Time1 = now.minute();
Time3 = (Time + Time2 + Time1);
if(hi.startsWith("Monday")){
Mon = hi;
Save(15, hi);
Serial.print("yes");
}
if(hi.startsWith("Tuesday")){
Tue = hi;
Save(16, hi);
}
if(hi.startsWith("Wednesday")){
Wed = hi;
Save(17, hi);
}
if(hi.startsWith("Thursday")){
Thu = hi;
Save(18, hi);
}
if(hi.startsWith("Friday")){
Fri = hi;
Save(19, hi);
}
if(hi.startsWith("Saturday")){
Sat = hi;
Save(20, hi);
}
if(hi.startsWith("Sunday")){
Sun = hi;
Save(21, hi);
}
if(now.dayOfTheWeek() == one){
if(give(15).indexOf(Time3) != -1 && give(15).indexOf(SB) != -1){
digitalWrite(12, HIGH);
delay(500);
digitalWrite(12, LOW);
}
if(give(15).indexOf(Time3) != -1 && give(15).indexOf(LB) != -1){
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
}
}
if(now.dayOfTheWeek() == two){
Serial.println(give(16));
if(give(16).indexOf(Time3) != -1){
digitalWrite(12, HIGH);
Serial.println("yep");
delay(500);
digitalWrite(12, LOW);
}
if(give(16).indexOf(Time3) != -1 && give(16).indexOf(LB) != -1){
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
}
}
if(now.dayOfTheWeek() == three){
if(give(17).indexOf(Time3) != -1 && give(17).indexOf(SB) != -1){
digitalWrite(12, HIGH);
delay(500);
digitalWrite(12, LOW);
}
if(give(17).indexOf(Time3) != -1 && give(17).indexOf(LB) != -1){
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
}
}
if(now.dayOfTheWeek() == four){
if(give(18).indexOf(Time3) != -1 && give(18).indexOf(SB) != -1){
digitalWrite(12, HIGH);
delay(500);
digitalWrite(12, LOW);
}
if(give(18).indexOf(Time3) != -1 && give(18).indexOf(LB) != -1){
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
}
}
if(now.dayOfTheWeek() == five){
if(give(19).indexOf(Time3) != -1 && give(19).indexOf(SB) != -1){
digitalWrite(12, HIGH);
delay(500);
digitalWrite(12, LOW);
}
if(give(19).indexOf(Time3) != -1 && give(19).indexOf(LB) != -1){
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
}
}
if(now.dayOfTheWeek() == six){
if(give(20).indexOf(Time3) != -1 && give(20).indexOf(SB) != -1){
digitalWrite(12, HIGH);
delay(500);
digitalWrite(12, LOW);
}
if(give(20).indexOf(Time3) != -1 && give(20).indexOf(LB) != -1){
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
}
}
if(now.dayOfTheWeek() == seven){
if(give(21).indexOf(Time3) != -1 && give(21).indexOf(SB) != -1){
digitalWrite(12, HIGH);
delay(500);
digitalWrite(12, LOW);
}
if(give(21).indexOf(Time3) != -1 && give(21).indexOf(LB) != -1){
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
}
}
}
Pls help me to solve this error