#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
const int LDR = A0;// LDR input
const int LDRValue = 699;
const int PIR1 = A1;//PIR1 Gate sensor 1
const int PIR2 = A2;//PIR2 Lobby sensor 2
const int PIR3 = A3;//PIR3 Room sensor 3
const int PIR4 = A4;//PIR4 Roof sensor 4
bool j = false;
bool k = false;
bool l = false;
bool m = false;
#define GATE 6
#define LOBBY 7
#define ROOM 8
#define ROOF 9
#define RELAY 10
char str[15];
const int temp=0,i=0;
void setup()//Put your setup or configuration code in the setup function, it will only run once during the startup
{
pinMode(PIR1, INPUT);//Relay for Gate Light is connected to this pin as OUTPUT.
pinMode(PIR2, INPUT);//Relay for Lobby Light is connected to this pin as OUTPUT.
pinMode(PIR3, INPUT);//Relay for Room light is connected to this pin as OUTPUT.
pinMode(PIR4, INPUT);//Relay for Roof light is conencted to this pin as OUTPUT.
pinMode(LDR, INPUT);//Relay for Auto light ON and OFF is connected to this pin as OUTPUT.
digitalWrite(PIR1, LOW);
digitalWrite(PIR2, LOW);
digitalWrite(PIR3, LOW);
digitalWrite(PIR4, LOW);
digitalWrite(LDR, LOW);
delay(1000);
}
void loop()
{
PIR1();
PIR2();
PIR3();
PIR4();
}
void PIR1()
{
if(digitalRead(PIR2)==LOW==&&digitalRead(PIR1)==HIGH&&k==false)
{
Serial.println(“OK”);
delay(1000);
Serial.print(“AT+CMGF=1\r\n”);
delay(500);
Serial.print(“AT+CMGS=”");
Serial.print("+9195xxxxxxxx");
Serial.print("“r\n”);
delay(2000);
Serial.print(“SOMEONE NEAR GATE”);
Serial.write(0x1A);
delay(1000);
j = true;
k = false;
}
if(digitalRead(PIR1)==LOW==&&digitalRead(PIR2)==HIGH&&j==false)
{
Serial.println(“OK”);
delay(1000);
Serial.print(“AT+CMGF=1\r\n”);
delay(500);
Serial.print(“AT+CMGS=”");
Serial.print("+9195xxxxxxxx");
Serial.print("“r\n”);
delay(2000);
Serial.print(“SOMEONE IN LOBBY”);
Serial.write(0x1A);
delay(1000);
k = true;
j = false;
}
void PIR3()
{
if(digitalRead(PIR4)==LOW==&&digitalRead(PIR3)==HIGH&&m==false)
{
Serial.println(“OK”);
delay(1000);
Serial.print(“AT+CMGF=1\r\n”);
delay(500);
Serial.print(“AT+CMGS=”");
Serial.print("+9195xxxxxxxx");
Serial.print("“r\n”);
delay(2000);
Serial.print(“SOMEONE IN ROOM”);
Serial.write(0x1A);
delay(1000);
l = true;
m = false;
}
if(digitalRead(PIR3)==LOW==&&digitalRead(PIR4)==HIGH&&l==false)
{
Serial.println(“OK”);
delay(1000);
Serial.print(“AT+CMGF=1\r\n”);
delay(500);
Serial.print(“AT+CMGS=”");
Serial.print("+9195xxxxxxxx");
Serial.print("“r\n”);
delay(2000);
Serial.print(“SOMEONE ON ROOF”);
Serial.write(0x1A);
delay(1000);
m = true;
l = false;
}
void checkLDRValue();//Check whether it is bright or dark outside using LDR and Switch ON or OFF Lights.
{
if(LDRValue<=700)
digitalWrite(RELAY,HIGH);
Serial.println(“IT IS DARK OUTSIDE”);
}
if(LDRValue>700)
digitalWrite(RELAY,LOW);
Serial.println(“IT IS BRIGHT OUTSIDE”);
}
}
void checkSerialevent();//Check whether there is any message for Turning Lights ON or OFF using SMS.
{
Serial.println(“AT+CNMI=2,2,0,0”);
delay(500);
Serial.println(“AT+CMGF=1”);
while(Serial.available());
{
char inChar = (char)
Serial.read();
delay(1000);
while (Serial.available());
{
char inChar=Serial.read();
str[i++]=inChar;
if(inChar==’*’)
{
temp=1;
return;
}
}
void check();{
if(!(strncmp(str,“GATE ON”,5)))
{
digitalWrite(GATE, HIGH);
}
else if(!(strncmp(str,“GATE OFF”,6)))
{
digitalWrite(GATE, LOW);
}
else if(!(strncmp(str,“LOBBY ON”,5)))
{
digitalWrite(LOBBY, HIGH);
}
else if(!(strncmp(str,“LOBBY OFF”,7)))
{
digitalWrite(LOBBY, LOW);
}
else if(!(strncmp(str,“ROOM ON”,8)))
{
digitalWrite(ROOM, HIGH);
}
else if(!(strncmp(str,“ROOM OFF”,9)))
{
digitalWrite(ROOM, LOW);
}
if(!(strncmp(str,“ROOF ON”,8)))
{
digitalWrite(ROOF, HIGH);
}
else if(!(strncmp(str,“ROOF OFF”,9)))
{
digitalWrite(ROOF, LOW);
}
else if(!(strncmp(str,“ALL ON”,6)))
{
digitalWrite(GATE, HIGH);
digitalWrite(LOBBY, HIGH);
digitalWrite(ROOM, HIGH);
digitalWrite(ROOF, HIGH);
}
else if(!(strncmp(str,“ALL OFF”,7)))
{
digitalWrite(GATE, LOW);
digitalWrite(LOBBY, LOW);
digitalWrite(ROOM, LOW);
digitalWrite(ROOF, LOW);
}
}
void delSMS();//Delete all messages
{
Serial.println(“AT+CMGF=1”);//Did not help
delay(1000);
Serial.print(“AT+CMGDA=1"”);
Serial.println(“DEL ALL”");
delay(500);
Serial.println(“All Messages Deleted”);
lcd.clear();
lcd.print(“SYSTEM ON”);
}