bangnaga icon

Arduino SMS PIR

bangnaga | PRO | 10/10/14 07:16:26 AM UTC | 0 ⭐ | 628 👁️ | Never ⏰ | []
C |

2.26 KB

|

None

|

0 👍

/

0 👎

 
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