int ledPin = 13; // choose the pin for the LED
int inputPin = 6; // choose the input pin (for PIR sensor)
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status
#include "SIM900.h"
#include "sms.h"
#include "SoftwareSerial.h"
#include "sms.h"
SMSGSM sms;
int a = 12;
boolean started=false;
char smsbuffer[160];
char n[20];
void setup()
{
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare sensor as input
pinMode(a,OUTPUT);
Serial.begin(19200);
if (gsm.begin(2400)){
started=true;
}
if(started){
delsms();
}
};
void loop()
{
val = digitalRead(inputPin); // Baca Digital Input Dari Sensor PIR
if (val == HIGH) { // Jika Nilainya High
digitalWrite(ledPin, HIGH); // Nyalakan Led
if (pirState == LOW) {
Serial.println("Motion detected!");
if (sms.SendSMS("+6285299944232", "Ada Orang Terdeteksi"))
Serial.println("\nSMS sent OK");
pirState = HIGH;
delay(2000);
}
} else {
digitalWrite(ledPin, LOW); // turn LED OFF
if (pirState == HIGH){
// we have just turned of
Serial.println("Motion ended!");
digitalWrite(a,HIGH);
pirState = LOW;
}
}
if (gsm.begin(2400)){
started=true;
}
int pos=0;
if(started){
pos=sms.IsSMSPresent(SMS_ALL);
if(pos){
Serial.println("Ada Sms Masuk di no ");
Serial.println(pos);
sms.GetSMS(pos,n,smsbuffer,100);
Serial.println(n);
Serial.println(smsbuffer);
delay(2000);
if(!strcmp(smsbuffer,"alarmoff")){
digitalWrite(a,LOW);
sms.SendSMS(n,"Alarm sudah padam");
Serial.println ("membalas respon");
}
delsms();
}
}
};
void delsms(){
for (int i=0; i<10; i++){
int pos=sms.IsSMSPresent(SMS_ALL);
if (pos!=0){
Serial.println ("Hapus SMS");
if (sms.DeleteSMS(pos)==1){
}
else
{
//ga bisa delete biasanya lampu gsm mati.. pencet tombol reset micro di gsm
}
}
}
}
Comments