//home security sys //by Neel Desai #include SoftwareSerial mySerial(9, 10); int x; void setup() { mySerial.begin(9600); // Setting the baud rate of GSM Module Serial.begin(38400); digitalWrite(5,HIGH);// Setting the baud rate of Serial Monitor (Arduino) pinMode(13,OUTPUT); pinMode(2,OUTPUT);//pir power pinMode(3,INPUT);///PIR sensor singal pinMode(5,OUTPUT); //reset digitalWrite(12,OUTPUT); digitalWrite(7,HIGH); digitalWrite(6,HIGH); // ACTIVE LOW CONTROL pinMode(6,OUTPUT);//light pinMode(7,OUTPUT);//siren digitalWrite(2,HIGH); digitalWrite(5,HIGH); RecieveMessage(); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); Serial.println("Home Security"); digitalWrite(12,HIGH); } void loop() { digitalWrite(7,HIGH); digitalWrite(6,HIGH); // ACTIVE LOW CONTROL //-----------COM STUFF---------------------------- if (Serial.available()>0) { x=Serial.read(); mySerial.write(Serial.read()); } if (mySerial.available()>0) { Serial.write(mySerial.read()); } //----------------LOGIC STUFF-------------------------------- if (digitalRead(3) == HIGH || x == '1')///triggered calling Neel { digitalWrite(13,HIGH);//indication mySerial.println("ATD9426888935;"); Serial.println("calling"); digitalWrite(7,LOW); digitalWrite(6,LOW); delay(600000); mySerial.println("ATH9426888935"); Serial.println("hangup"); digitalWrite(13,LOW); } //-----------------------REMOTE RESET-------------------------------------- if(mySerial.read() == 'r') //resetting { digitalWrite(13,HIGH); delay(200); digitalWrite(13,LOW); delay(200); digitalWrite(13,HIGH); delay(200); digitalWrite(13,LOW); delay(200); digitalWrite(13,HIGH); delay(200); digitalWrite(13,LOW); delay(200); digitalWrite(13,HIGH); delay(200); digitalWrite(13,LOW); delay(200); Serial.write('2'); digitalWrite(5,LOW); delay(500); Serial.print("reset"); } if (mySerial.read() == 's') { digitalWrite(7,HIGH); digitalWrite(6,LOW); delay(1000); digitalWrite(6,HIGH); delay(1000); digitalWrite(6,LOW); delay(1000); digitalWrite(6,HIGH); delay(1000); digitalWrite(6,HIGH); Serial.write('s'); } //------------------------------UP SIDE RELAY CONTROL------------------------------------------- } void RecieveMessage() { mySerial.println("AT+CNMI=2,2,0,0,0"); // AT Command to receive a live SMS delay(1000); }