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 } } } }