Advertisement
safwan092

Untitled

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