Introduction: Autonomous Fire Fighter Robot
It is a robot that autonomously detect and extinguish fire.It use flame sensor for detection and arduino board for processing.Fire extinguisher along with electronic valve( actuator) is used to extinguish the detected fire.
The robot rotates while actively scanning for fire. This scanning is performed by sensors placed on the sides.When a fire is detected, it moves in the direction of fire an stops 30 cm in front of it and trigger the extinguisher to turn out the fire.
Step 1: COMPONENTS USED
1X ARDUINO BOARD
3X FLAME SENSOR MODULES
2X DC MOTOR DRIVER
1X ELECTRONIC VALVE(OR LINEAR ACTUATOR)
4X DC GEAR MOTOR
1X FIRE EXTINGUISHER
4X WHEELS
4X MOTOR CLAMPS
SWITCH,WIRE,SCREWS ETC
TOOLS REQUIRED
SOLDERING IRON
MULTIMETER
Step 2: ARDUINO BOARD
In this project, arduino leonardo board is used. Any arduino board can be selected.
Basic description of the board can be seen in the picture.
Step 3: FLAME SENSOR
Flame sensor modules do not cost much, and the efficiently detect flame.
Keyes flame sensor module is used for this project which has a sensitivity adjustment pot. It has a positive supply pin, which must be provided with a +5v supply. GND pin must be grounded. This module provides both analog as well as digital outputs. Only digital output is used in this project.
Step 4: MOTOR DRIVER AND MOTOR
Since the arduino board can supply only 5v which is insufficient for driving motor, motor driver is used.
With the help of motor driver, clockwise and anticlockwise rotation of motor can be easily achieved. Motor driver must be supplied with a supply voltage of 5v -9v. Ground must be connected to the ground pin of arduino board.
Since this robot needs to carry a fire extinguisher, dc gear motor having enough torque must be selected. Here i have used metallic gear motor with 60rpm, having 10-12kg/cm torque.
Step 5: FIRE EXTINGUISHER AND VALVE
General fire extinguishers are heavier and difficult to be transported or triggered. A spray type one will be most convenient and affordable. In case of general type, an electronic valve should be used to release the gas or foam.
For the spray type, electronic actuator can be used. In this project, i have used spray type extinguisher an instead of actuator, a cam mechanism is used to apply pressure on the nozzle. Cam mechanism consist of a metallic cam
connected to a gear motor. It presses the nozzle knob as it rotates. A separate motor driver is used to drive this motor.
Step 6: BUILDING THE ROBOT
Choose a board of convenient size and strength to carry the extinguisher. Use either metal plate board or plywood board. Drill out holes for connecting motor clamps.Place the motor to the chassis with the help of clamp and connect wheels. Short the wires of the motor on the same side such that they rotate in the same direction.Connect each motor pair to the motor driver. Place the flame sensors in the front side of chassis 5-6cm apart, such that the sensor in middle is placed at the center of chassis. Sensitivity of sensors on the sides must be adjusted to detect fire far away. Sensitivity of the center sensor is reduced to detect fire 30cm away. Digital outputs of sensors are connected to pin 2,3,4 of the arduino board. Connect an led to pin 10 so that it glows when fire is detected. Inputs to the motors on left side is obtained from pins 5 and 6 and that for motors on right side is obtained from pin 7 and 8. Pin 11 used to trigger the valve or actuator( pin 11 and12 for cam arrangement). Fire extinguisher must be place on the top of the chassis, inclined at an angle so that it release towards fire. Adjust sensitivity of the center sensor and position or angle of the extinguisher to match the triggering.

Participated in the
Robot Contest

Participated in the
Arduino Contest

Participated in the
Sensors Contest
75 Comments
6 years ago
while(digitalRead(d2)==HIGH)
{
digitalWrite(led,HIGH);
digitalWrite(enable,HIGH);
start();
brake();
delay(5000);
normal();
backward();
delay(700);
forward();
delay(1000);
}
spray_stop();
digitalWrite(led,LOW);
delay(500);
normal();
digitalWrite(enable,LOW);
}
Explain mi this code
Reply 5 years ago
Can you plz send me the exact code of this project?
Question 5 years ago on Introduction
Can you please tell me where can i get the code for this project
5 years ago
circuit diagram please
5 years ago
How to connect pair of motors to motor driver pls explain should we use arduino
6 years ago
Can you pls tell me where can i find the circuit diagram for this project
6 years ago
please send me details of the project my email.id is sainikesh94@gmail.com
6 years ago
Hey, just want to ask a question,
There are 3 flame sensors and all three would have a Vcc pin. How do u connect all 3 to the voltage pin on an arduino uno board?
6 years ago
can you pls send me all the details and circuit diagram in this account angelogutomanbautista@yahoo.com
6 years ago
What is ckt diagram of this project
6 years ago
can u add the circuit diagram and wiring instructions please .
6 years ago
Very important
No body should go for pre account . Its the same here what u see in steps
6 years ago
please explain details of components ...............
6 years ago
can u plz explain me cam mechanism
6 years ago
from this which motors are a1,a2 and about the sensor d1,d2,d3
plz give me the detail info about this
Reply 6 years ago
a1 ,a2=right
d1=left
d2=front
d3=right
6 years ago
can dend its programming ??
Reply 6 years ago
int d1 = 2;
int d2 = 3;
int d3 = 4;
int led = 10;
int motora1 = 5;
int motora2 = 6;
int motorb1 = 7;
int motorb2 = 8;
int cam_motor1 = 11;
int cam_motor2 = 12;
int enable = 9;
void setup(){
pinMode(led,OUTPUT);
pinMode(d1,INPUT);
pinMode(d2,INPUT);
pinMode(d3,INPUT);
pinMode(motora1,OUTPUT);
pinMode(motora2,OUTPUT);
pinMode(motorb1,OUTPUT);
pinMode(motorb2,OUTPUT);
pinMode(cam_motor1,OUTPUT);
pinMode(cam_motor2,OUTPUT);
}
void brake()
{ digitalWrite(motora1,LOW);
digitalWrite(motora2,LOW);
digitalWrite(motorb1,LOW);
digitalWrite(motorb2,LOW);
}
void rotate()
{
digitalWrite(motora1,HIGH);
digitalWrite(motora2,LOW);
digitalWrite(motorb2,HIGH);
digitalWrite(motorb1,LOW);
}
void left()
{
digitalWrite(motora2,HIGH);
digitalWrite(motora1,LOW);
digitalWrite(motorb1,HIGH);
digitalWrite(motorb2,LOW);
}
void forward()
{
digitalWrite(motora1,HIGH);
digitalWrite(motora2,LOW);
digitalWrite(motorb1,HIGH);
digitalWrite(motorb2,LOW);
}
void backward()
{
digitalWrite(motora2,HIGH);
digitalWrite(motora1,LOW);
digitalWrite(motorb2,HIGH);
digitalWrite(motorb1,LOW);
}
void start()
{ digitalWrite(cam_motor1,HIGH);
digitalWrite(cam_motor2,LOW);
}
void spray_stop()
{
digitalWrite(cam_motor1,LOW);
digitalWrite(cam_motor2,HIGH);
}
void normal()
{
digitalWrite(cam_motor1,LOW);
digitalWrite(cam_motor2,LOW);
}
void loop(){
rotate();
while(digitalRead(d1)==HIGH&&digitalRead(d3)==HIGH&& digitalRead(d2)==LOW)
{
digitalWrite(led,HIGH);
forward();
}
while(digitalRead(d2)==HIGH)
{
digitalWrite(led,HIGH);
digitalWrite(enable,HIGH);
start();
brake();
delay(5000);
normal();
backward();
delay(700);
forward();
delay(1000);
}
spray_stop();
digitalWrite(led,LOW);
delay(500);
normal();
digitalWrite(enable,LOW);
}
Reply 6 years ago
Dear is this code is working or not???? And where we used cam moter2?????
6 years ago
send code to my email Ahmed6450@yahoo.com