0% found this document useful (0 votes)
69 views

Coding

This sketch uses a PIR sensor to detect motion. When motion is detected, it buzzes a buzzer, lights an LED, and sends an SMS alert message to a phone number. It includes functions to play a tone on a pin connected to a speaker, and to send SMS messages using a GSM shield.

Uploaded by

Ami TeemO
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views

Coding

This sketch uses a PIR sensor to detect motion. When motion is detected, it buzzes a buzzer, lights an LED, and sends an SMS alert message to a phone number. It includes functions to play a tone on a pin connected to a speaker, and to send SMS messages using a GSM shield.

Uploaded by

Ami TeemO
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

// Uses a PIR sensor to detect movement, buzzes a buzzer, And LED

// Creator Md. Jubayer Rahman


// If Need Help Contact : jrahman10@gmail.com
// Date : 13.04.2014

#include <GSM.h>
#define PINNUMBER ""

// initialize the library instance


// include a 'true' parameter for debug enabled
GSM gsmAccess;
GSM_SMS sms;

// char array of the telephone number to send SMS


// change the number 1-212-555-1212 to a number
// you have access to
char remoteNumber[20]= "01818826205";

// char array of the message


char txtMsg[200]="Alarm! Alarm! You Have An Intruder";

int ledPin = 8; // 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
int pinSpeaker = 4; //Set up a speaker on a PWM pin (digital 9, 10, or
11)

void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare sensor as input
pinMode(pinSpeaker, OUTPUT);
Serial.begin(9600);

Serial.println("Motion detected!");

Serial.println("SMS Messages Sender");

// connection state
boolean notConnected = true;

// Start GSM shield


// If your SIM has PIN, pass it as a parameter of begin() in quotes
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Not connected");
delay(1000);
}
}
Serial.println("GSM initialized");
}

void loop(){
val = digitalRead(inputPin); // read input value
if (val == HIGH) { // check if the input is HIGH
digitalWrite(ledPin, HIGH); // turn LED ON
playTone(300, 160);
delay(150);

if (pirState == LOW) {
// we have just turned on

sendSMS();

// We only want to print on the output change, not state


pirState = HIGH;
}
}

else {
digitalWrite(ledPin, LOW); // turn LED OFF
playTone(0, 0);
delay(300);

if (pirState == HIGH){
// we have just turned of
Serial.println("Motion ended!");
// We only want to print on the output change, not state
pirState = LOW;
}
}

// duration in mSecs, frequency in hertz


void playTone(long duration, int freq) {
duration *= 1000;
int period = (1.0 / freq) * 1000000;
long elapsed_time = 0;
while (elapsed_time < duration) {
digitalWrite(pinSpeaker,HIGH);
delayMicroseconds(period / 2);
digitalWrite(pinSpeaker, LOW);
delayMicroseconds(period / 2);
elapsed_time += (period);
}
}

// SMS Code
void sendSMS(){

Serial.print("Message to mobile number: ");


Serial.println(remoteNumber);

// sms text
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);

// send the message


sms.beginSMS(remoteNumber);
sms.print(txtMsg);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");
}

You might also like