Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- SoftwareSerial SIM900A(7, 8);
- //Flag to just inform the user one time
- boolean user_informed_movement = false;
- byte trigPin = 3; //Pin from HC-SR04 "Trig"
- byte echoPin = 2; //Pin from HC-SR04 "Echo"
- void setup() {
- //Define HC-SR04 pins
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- Serial.begin(9600); //Start a Serial COM
- SIM900A.begin(9600); // Setting the baud rate of GSM Module
- Serial.println ("SIM900A Ready");
- delay(100);
- Serial.println ("Type s to send message or r to receive message");
- delay(15000);
- SendMessage1();
- }
- void loop() {
- if (movement())
- {
- Serial.println(F("Movement"));
- delay(1000);
- SendMessage2();
- delay(30000);
- }
- if (SIM900A.available() > 0)
- Serial.write(SIM900A.read());
- }// end of LOOP
- //******************************************************************************
- //**************************** MOVEMENT **********************************
- //******************************************************************************
- byte movement()
- {
- long duration, distance;
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- //Calculate the distance (in cm) based on the speed of sound.
- distance = duration / 58.2;
- Serial.print(F("Dist:"));
- Serial.println(distance);
- delay(50);
- if (distance >= 80 || distance <= 0) return 0; //Ajust this values according to your needs
- else
- {
- return 1;
- }
- }
- void SendMessage1()
- {
- Serial.println ("Sending Message");
- SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
- delay(1000);
- Serial.println ("Set SMS Number");
- // *********
- SIM900A.println("AT+CMGS=\"+966591192998\"\r"); //Mobile phone number to send message
- delay(1000);
- Serial.println ("Set SMS Content");
- SIM900A.println("GSM Connected, Project is ON");// Messsage content
- delay(100);
- Serial.println ("Finish");
- SIM900A.println((char)26);// ASCII code of CTRL+Z
- delay(1000);
- Serial.println ("Message has been sent");
- }
- void SendMessage2()
- {
- Serial.println ("Sending Message");
- SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
- delay(1000);
- Serial.println ("Set SMS Number");
- // *********
- SIM900A.println("AT+CMGS=\"+966591192998\"\r"); //Mobile phone number to send message
- delay(1000);
- Serial.println ("Set SMS Content");
- SIM900A.println("Movement Detected!!");// Messsage content
- delay(100);
- Serial.println ("Finish");
- SIM900A.println((char)26);// ASCII code of CTRL+Z
- delay(1000);
- Serial.println ("Message has been sent");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement