Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- #include "DHT.h"
- const int RelayPin = 4;
- const int ShortPin = A1;
- const int BuzzerPin = 9; // ~(PWM)</pre>
- const int FlamePin = A0;
- const int DHT_SENSOR = 10;
- int sensorReading = 0;
- float t = 0;
- float h = 0;
- float s = 0;
- int flag = 0;
- int flag1 = 0;
- int flag2 = 0;
- int timer = 0;
- #define DHTPIN 7
- #define DHTTYPE DHT11
- SoftwareSerial ss(6, 5);
- DHT dht(DHTPIN, DHTTYPE);
- void setup() {
- Serial.begin(9600);
- pinMode(BuzzerPin, OUTPUT);
- pinMode(RelayPin, OUTPUT);
- pinMode(FlamePin, INPUT);
- pinMode(ShortPin, INPUT);
- dht.begin();
- SetupA9G();
- digitalWrite(RelayPin, 0);//turn on Load
- }
- void loop() {
- dht11_Reading();
- Flame_Reading();
- Short_Reading();
- if (s > 500 && flag2 == 0) {
- Serial.println("Short Circuit is DETECTED !!!!");
- loadFlicker();
- if (timer == 0) {
- send_sms2();
- delay(5000);
- timer = 1;
- }
- else {
- digitalWrite(RelayPin, 1);//turn off load
- flag2 = 1;
- }
- }
- if (sensorReading < 50 && flag == 0 ) {
- send_sms();
- Buzzering();
- delay(15000);
- flag = 1;
- }
- if (t > 26 && flag1 == 0 ) {
- send_sms1();
- Buzzering();
- delay(15000);
- flag1 = 1 ;
- }
- else {
- analogWrite(BuzzerPin, 0); // 0 turns it off
- }
- }//end of Loop
- void loadFlicker() {
- digitalWrite(RelayPin, 0);//turn on Load
- delay(200);
- digitalWrite(RelayPin, 1);//turn off load
- delay(200);
- digitalWrite(RelayPin, 0);//turn on Load
- delay(200);
- digitalWrite(RelayPin, 1);//turn off load
- delay(200);
- digitalWrite(RelayPin, 0);//turn on Load
- }
- void Short_Reading() {
- s = analogRead(ShortPin);
- Serial.println("---------------");
- Serial.println(s);
- Serial.println("---------------");
- }
- void dht11_Reading() {
- h = dht.readHumidity();
- t = dht.readTemperature();
- Serial.print(t);
- Serial.println(F("Β°C "));
- }
- void Flame_Reading() {
- sensorReading = analogRead(FlamePin);
- Serial.println(sensorReading);
- }
- void Buzzering() {
- analogWrite(BuzzerPin, 255); // Almost any value can be used except 0 and 255
- delay(500);
- analogWrite(BuzzerPin, 155);
- delay(500);
- analogWrite(BuzzerPin, 255);
- delay(500);
- analogWrite(BuzzerPin, 155);
- delay(500);
- analogWrite(BuzzerPin, 0);
- }
- void send_sms() {
- Serial.println("Sending Message");
- ss.println("AT+CMGF=1\r");
- delay(1000);
- ss.println("AT+CNMI=2,2,0,0,0\r");
- delay(1000);
- ss.print("AT+CMGS=\"+966554418546\"\r");//Replace this with your mobile number 541394732
- delay(1000);
- ss.print("FLAME DETECTED");//s);
- ss.write(0x1A);
- delay(1000);
- }
- void send_sms1() {
- Serial.println("Sending Message");
- ss.println("AT+CMGF=1\r");
- delay(1000);
- ss.println("AT+CNMI=2,2,0,0,0\r");
- delay(1000);
- ss.print("AT+CMGS=\"+966554418546\"\r");//Replace this with your mobile number
- delay(1000);
- ss.print("HEAT DETEACTED ");//s);
- ss.write(0x1A);
- delay(1000);
- }
- void send_sms2() {
- Serial.println("Sending Message");
- ss.println("AT+CMGF=1\r");
- delay(1000);
- ss.println("AT+CNMI=2,2,0,0,0\r");
- delay(1000);
- ss.print("AT+CMGS=\"+966554418546\"\r");//Replace this with your mobile number
- delay(1000);
- ss.print("Short Circuit DETEACTED !!");//s);
- ss.write(0x1A);
- delay(1000);
- }
- void SetupA9G() {
- ss.begin(9600);
- Serial.println("Starting...");
- ss.println("\r");
- ss.println("AT\r");
- delay(10);
- ss.println("\r");
- ss.println("AT+GPS=1\r");
- delay(100);
- ss.println("AT+CREG=2\r");
- delay(1000);
- ss.println("AT+CGATT=1\r");
- delay(1000);
- ss.println("AT+CGDCONT=1,\"IP\",\"WWW\"\r");
- delay(1000);
- ss.println("AT+CGACT=1,1\r");
- delay(1000);
- ss.println("\r");
- ss.println("AT+GPS=1\r");
- delay(1000);
- ss.println("AT+GPSRD=10\r");
- delay(100);
- ss.println("AT+CMGF=1\r");
- delay(1000);
- Serial.println("Setup Executed");
- }
Advertisement
Add Comment
Please, Sign In to add comment