Advertisement
safwan092

Untitled

May 21st, 2022
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. #include <SoftwareSerial.h>
  2.  
  3. SoftwareSerial SIM900A(7, 8);
  4.  
  5. //Flag to just inform the user one time
  6. boolean user_informed_movement = false;
  7.  
  8. byte trigPin = 3; //Pin from HC-SR04 "Trig"
  9. byte echoPin = 2; //Pin from HC-SR04 "Echo"
  10.  
  11.  
  12.  
  13. void setup() {
  14.  
  15.  
  16. //Define HC-SR04 pins
  17. pinMode(trigPin, OUTPUT);
  18. pinMode(echoPin, INPUT);
  19.  
  20. Serial.begin(9600); //Start a Serial COM
  21. SIM900A.begin(9600); // Setting the baud rate of GSM Module
  22. Serial.println ("SIM900A Ready");
  23. delay(100);
  24. Serial.println ("Type s to send message or r to receive message");
  25. delay(15000);
  26. SendMessage1();
  27. }
  28.  
  29.  
  30.  
  31. void loop() {
  32.  
  33. if (movement())
  34. {
  35. Serial.println(F("Movement"));
  36. delay(1000);
  37. SendMessage2();
  38. delay(30000);
  39. }
  40. if (SIM900A.available() > 0)
  41. Serial.write(SIM900A.read());
  42.  
  43. }// end of LOOP
  44.  
  45.  
  46.  
  47. //******************************************************************************
  48. //**************************** MOVEMENT **********************************
  49. //******************************************************************************
  50.  
  51. byte movement()
  52. {
  53.  
  54. long duration, distance;
  55.  
  56. digitalWrite(trigPin, LOW);
  57. delayMicroseconds(2);
  58.  
  59. digitalWrite(trigPin, HIGH);
  60. delayMicroseconds(10);
  61.  
  62. digitalWrite(trigPin, LOW);
  63. duration = pulseIn(echoPin, HIGH);
  64.  
  65. //Calculate the distance (in cm) based on the speed of sound.
  66. distance = duration / 58.2;
  67.  
  68. Serial.print(F("Dist:"));
  69. Serial.println(distance);
  70.  
  71. delay(50);
  72.  
  73. if (distance >= 80 || distance <= 0) return 0; //Ajust this values according to your needs
  74.  
  75. else
  76. {
  77. return 1;
  78. }
  79.  
  80. }
  81.  
  82. void SendMessage1()
  83. {
  84. Serial.println ("Sending Message");
  85. SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
  86. delay(1000);
  87. Serial.println ("Set SMS Number");
  88. // *********
  89. SIM900A.println("AT+CMGS=\"+966591192998\"\r"); //Mobile phone number to send message
  90. delay(1000);
  91. Serial.println ("Set SMS Content");
  92. SIM900A.println("GSM Connected, Project is ON");// Messsage content
  93. delay(100);
  94. Serial.println ("Finish");
  95. SIM900A.println((char)26);// ASCII code of CTRL+Z
  96. delay(1000);
  97. Serial.println ("Message has been sent");
  98. }
  99.  
  100. void SendMessage2()
  101. {
  102. Serial.println ("Sending Message");
  103. SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
  104. delay(1000);
  105. Serial.println ("Set SMS Number");
  106. // *********
  107. SIM900A.println("AT+CMGS=\"+966591192998\"\r"); //Mobile phone number to send message
  108. delay(1000);
  109. Serial.println ("Set SMS Content");
  110. SIM900A.println("Movement Detected!!");// Messsage content
  111. delay(100);
  112. Serial.println ("Finish");
  113. SIM900A.println((char)26);// ASCII code of CTRL+Z
  114. delay(1000);
  115. Serial.println ("Message has been sent");
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement