Fire accident has become a threat that has destroyed many precious things which are treasures, investments, valuable properties as well as people’s life destruction.
Main Objective of Our System
To design and implement a simple fire suppressor system that will be able to identify the class (A) fire, extinguish it, and make a call to the fire station for any other class of fire.
1. To design a fire detection, classification, fire alarm, fire call, and suppressor module.
2. To implement, fire detection, fire classification, fire alarm, fire call, and fire suppressor module.
3. To integrate all modules resulting in a system.
HARDWARE REQUIREMENTS
a. Flame Sensor
The flame sensor is used to detect the fire or other light sources which are in the range of wavelength from 760nm to 1100nm.
The flame sensor module with the following features will be enough for our system:
i. The operating voltage is from 3.3 – 5V.
ii. It gives us both analog and digital output.
iii. It has a lead indicator, which indicates whether the flame is detected or not.
iv. The threshold value can be changed by rotating the top of the potentiometer.
v. Flame detection distance, the lighter flame test can be triggered within 0.8m, if the intensity of the flame is high, the detection distance will be increased.
vi. The detection angle of the flame sensor module is about 60 degrees
b. Smoke Sensor
The type of smoke sensor we are going to use is the MQ2 smoke sensor.
Properties of MQ2 sensor:
i. Sensitive to smoke and the following flammable gases: - LPG, Butane, Propane, Methane, Alcohol, Hydrogen.
ii. Resistant of the sensor is different depending on the type of the gas
iii. Smoke sensor has a built-in potentiometer that allows you to adjust the sensor sensitivity according to how accurate you want to detect gas
iv. Output voltage is directly proportional to smoke concentration. When gas concentration increased also the output voltage increases and when gas concentration decrease also the voltage output is decreased.
c. GSM Module
The COMPIM model is a Physical Interface Model of a serial port. Incoming serial data is buffered and presented to the circuit as a digital signal. The physical COM part also includes a virtual COM port over USB and Bluetooth with some work-around.
d. DC motor
The system needs the motor to enable mechanical movement in the process of finding and detecting the fire direction. Also, the motor will move the nozzle of the water pump in the direction of the fire to put off the fire.
The following are properties of the DC motor we are going to use in our system;
Operating range: 3.0 - 12.0 Volts
Nominal Voltage: 12v
No Load Speed: 5600 rpm, Max. Efficiency Speed: 4906 rpm
No Load Current: 0.022 A, Max. Efficiency Current: 0.16 -0.23 A
Max. Efficiency Torque: 21.1 g.cm
e. Arduino Uno
The following are the properties of Arduino Uno used in our system.
Properties of Arduino
Microcontroller: AT mega328
Operating voltage: 5v
Input voltage (recommended): 7-12v
Input voltage (limited)6-20v
Digital I/O pins: 14 (of which 6 provide pulse width modulation output)
Analog input pins:6
Dc current per I/O pin :40mA
Dc current for 3.3v pin:50mA
Flash memory: 32kB of which 0.5kB is used by the boot loader.
Sram:2kB (AT mega 328)
Eeprom:1KB (AT mega 328)
Clock speed:16 MHz
SOFTWARE REQUIREMENTS
Software like Platform IDE is used for writing and running (executes) codes during the programming of Arduino microcontroller
This is used to simulate the circuit so that the Arduino library in it could give the desired output.
Here is the code to use in Arduino software
#include
SoftwareSerial mySerial(9, 10);
char msg;
char call;
//End of Call decralation
int pin_buzzer =7;
int fl_sensor =8;
int gs_sensor = 12;
int dir_motor = 2;
int pump = 4;
int sensorSignal;
int sensorInput;
int gasSensor;
int thres = 300;
char x;
//End of the easy thing
void setup() {
// put your setup code here, to run once:
mySerial.begin(9600); // Setting the baud rate of GSM Module
Serial.begin(9600);
//End of call
pinMode(pin_buzzer,OUTPUT);
pinMode(pump,OUTPUT);
pinMode(dir_motor,OUTPUT);
pinMode(fl_sensor,INPUT);
pinMode(gs_sensor,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
sensorSignal = digitalRead(fl_sensor);
gasSensor = digitalRead(gs_sensor);
sensorInput = !sensorSignal;
Serial.print("Gas value ");
Serial.println(gasSensor);
//End of easy
/*if(sensorInput == HIGH){
x = "c";
}
*/
if((sensorInput == HIGH)or(gasSensor>=thres)){
if((gasSensor>=thres and sensorInput == LOW)){
Serial.println("HELOOW FINDING DIRECTION");
digitalWrite(dir_motor,HIGH);
//MakeCall();
}else if(sensorInput == HIGH){
Serial.println("STOP DIR, SUPPRESS FIRE");
digitalWrite(pump,HIGH);
MakeCall();
}
tone(pin_buzzer,1000,200);
}
else{
noTone(pin_buzzer);
digitalWrite(dir_motor,LOW);
digitalWrite(pump,LOW);
}
if (mySerial.available()>0)
Serial.write(mySerial.read());
}
void MakeCall()
{
mySerial.println("ATD+255719890681;"); // ATDxxxxxxxxxx; -- watch out here for semicolon at the end!!
Serial.println("Calling "); // print response over serial port
delay(1000);
}