safwan092

Flame Heat ShortCircuit A9g Arduino Code with Relay

Oct 16th, 2024
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.88 KB | None | 0 0
  1. #include <SoftwareSerial.h>
  2. #include "DHT.h"
  3.  
  4. const int RelayPin = 4;
  5. const int ShortPin = A1;
  6. const int BuzzerPin = 9; // ~(PWM)</pre>
  7. const int FlamePin = A0;
  8. const int DHT_SENSOR = 10;
  9. int sensorReading = 0;
  10. float t = 0;
  11. float h = 0;
  12. float s = 0;
  13. int flag = 0;
  14. int flag1 = 0;
  15. int flag2 = 0;
  16. int timer = 0;
  17. #define DHTPIN 7
  18. #define DHTTYPE DHT11
  19.  
  20. SoftwareSerial ss(6, 5);
  21. DHT dht(DHTPIN, DHTTYPE);
  22.  
  23. void setup() {
  24. Serial.begin(9600);
  25. pinMode(BuzzerPin, OUTPUT);
  26. pinMode(RelayPin, OUTPUT);
  27. pinMode(FlamePin, INPUT);
  28. pinMode(ShortPin, INPUT);
  29. dht.begin();
  30. SetupA9G();
  31. digitalWrite(RelayPin, 0);//turn on Load
  32. }
  33.  
  34. void loop() {
  35.  
  36. dht11_Reading();
  37. Flame_Reading();
  38. Short_Reading();
  39. if (s > 500 && flag2 == 0) {
  40. Serial.println("Short Circuit is DETECTED !!!!");
  41. loadFlicker();
  42. if (timer == 0) {
  43. send_sms2();
  44. delay(5000);
  45. timer = 1;
  46. }
  47. else {
  48. digitalWrite(RelayPin, 1);//turn off load
  49. flag2 = 1;
  50. }
  51. }
  52. if (sensorReading < 50 && flag == 0 ) {
  53. send_sms();
  54. Buzzering();
  55. delay(15000);
  56. flag = 1;
  57. }
  58. if (t > 26 && flag1 == 0 ) {
  59. send_sms1();
  60. Buzzering();
  61. delay(15000);
  62. flag1 = 1 ;
  63. }
  64. else {
  65. analogWrite(BuzzerPin, 0); // 0 turns it off
  66. }
  67.  
  68. }//end of Loop
  69.  
  70.  
  71. void loadFlicker() {
  72. digitalWrite(RelayPin, 0);//turn on Load
  73. delay(200);
  74. digitalWrite(RelayPin, 1);//turn off load
  75. delay(200);
  76. digitalWrite(RelayPin, 0);//turn on Load
  77. delay(200);
  78. digitalWrite(RelayPin, 1);//turn off load
  79. delay(200);
  80. digitalWrite(RelayPin, 0);//turn on Load
  81. }
  82.  
  83. void Short_Reading() {
  84. s = analogRead(ShortPin);
  85. Serial.println("---------------");
  86. Serial.println(s);
  87. Serial.println("---------------");
  88. }
  89.  
  90. void dht11_Reading() {
  91. h = dht.readHumidity();
  92. t = dht.readTemperature();
  93. Serial.print(t);
  94. Serial.println(F("Β°C "));
  95. }
  96.  
  97. void Flame_Reading() {
  98. sensorReading = analogRead(FlamePin);
  99. Serial.println(sensorReading);
  100. }
  101.  
  102. void Buzzering() {
  103. analogWrite(BuzzerPin, 255); // Almost any value can be used except 0 and 255
  104. delay(500);
  105. analogWrite(BuzzerPin, 155);
  106. delay(500);
  107. analogWrite(BuzzerPin, 255);
  108. delay(500);
  109. analogWrite(BuzzerPin, 155);
  110. delay(500);
  111. analogWrite(BuzzerPin, 0);
  112. }
  113.  
  114. void send_sms() {
  115. Serial.println("Sending Message");
  116. ss.println("AT+CMGF=1\r");
  117. delay(1000);
  118. ss.println("AT+CNMI=2,2,0,0,0\r");
  119. delay(1000);
  120. ss.print("AT+CMGS=\"+966554418546\"\r");//Replace this with your mobile number 541394732
  121. delay(1000);
  122. ss.print("FLAME DETECTED");//s);
  123. ss.write(0x1A);
  124. delay(1000);
  125. }
  126.  
  127. void send_sms1() {
  128. Serial.println("Sending Message");
  129. ss.println("AT+CMGF=1\r");
  130. delay(1000);
  131. ss.println("AT+CNMI=2,2,0,0,0\r");
  132. delay(1000);
  133. ss.print("AT+CMGS=\"+966554418546\"\r");//Replace this with your mobile number
  134. delay(1000);
  135. ss.print("HEAT DETEACTED ");//s);
  136. ss.write(0x1A);
  137. delay(1000);
  138. }
  139.  
  140. void send_sms2() {
  141. Serial.println("Sending Message");
  142. ss.println("AT+CMGF=1\r");
  143. delay(1000);
  144. ss.println("AT+CNMI=2,2,0,0,0\r");
  145. delay(1000);
  146. ss.print("AT+CMGS=\"+966554418546\"\r");//Replace this with your mobile number
  147. delay(1000);
  148. ss.print("Short Circuit DETEACTED !!");//s);
  149. ss.write(0x1A);
  150. delay(1000);
  151. }
  152.  
  153. void SetupA9G() {
  154. ss.begin(9600);
  155. Serial.println("Starting...");
  156. ss.println("\r");
  157. ss.println("AT\r");
  158. delay(10);
  159. ss.println("\r");
  160. ss.println("AT+GPS=1\r");
  161. delay(100);
  162. ss.println("AT+CREG=2\r");
  163. delay(1000);
  164. ss.println("AT+CGATT=1\r");
  165. delay(1000);
  166. ss.println("AT+CGDCONT=1,\"IP\",\"WWW\"\r");
  167. delay(1000);
  168. ss.println("AT+CGACT=1,1\r");
  169. delay(1000);
  170. ss.println("\r");
  171. ss.println("AT+GPS=1\r");
  172. delay(1000);
  173. ss.println("AT+GPSRD=10\r");
  174. delay(100);
  175. ss.println("AT+CMGF=1\r");
  176. delay(1000);
  177. Serial.println("Setup Executed");
  178. }
  179.  
Advertisement
Add Comment
Please, Sign In to add comment