Fire Fighter Robot using Arduino | Fire fighting Robot

Hey, guys welcome back to Techatronic. I think all you have heard about the fire fighting Vehicle. This time we are going to make an advanced fire fighting vehicle which is also a robot and we called it a Fire fighter Robot. It is simply a machine that works automatically that’s why we called it a robot. We made this robot like it will go near to the fire and start its work. The fire fighter robot is very impressive and can be used in place of a vehicle.

Fire fighter robot

Now a days if any fire accidents happens in Power plants, Buildings, etc., the time and consumption of human power is high. So there may be a possibility of Heavy damage to human beings

HTML Image as link
Qries

The elimination of fire before it spread away will avoid the catastrophic effects

Objective

  • Design and development of low cost firefighting robot.
  • Run automatically firefighting robot.
  • Extinguish fire.

Introduction

Fire fighter robot can be used to control the fire. this robot can detect the fire by itself and control the fire by throwing water. there are some sensors we are using that can detect fire and robots can move there to fire extinguish.The fire fighting robot has the same structure as Bluetooth control RC car. the robot has 3 sensors 1 sensor at the front side which see if there is anything in front of the robot and the other two at the both front corner which also searches for fire. if any sensor detects fire at any site the robot will sensor and move towards it. the fire fighting robot has 4 wheels, 3 sensors, one water tank, one nozzle, and a computer which help him to take decision according to the Arduino code.

Fire fighting Robot

The robot is a small version till the date post published and there is only some basic feature when you will start the robot it will move forward first until it gets fired anywhere. if any sensor of the robot will find the flame anywhere it will start moving toward the flame and with the help of the water nozzle of the fire fighting robot using Arduino will start watering the particular area. Fire fighter robot and line follower robot have the same sensor but the working in both conditions are different.

Construction

To make this Fire fighter robot using Aruino I am going to upload all the required detail to make this robot. Components required a code circuit and all the instructions. so, you can make this easily only you need to follow all the steps. If you want to learn some basic you can learn it from our website.

Components Required

  • Arduino Uno
  • flame IR Sensor
  • Robot Chassis
  • 12v Battery
  • Wires
  • Nozzle for water
  • Water pump 5v
  • Single channel relay

Circuit Diagram

Make all the connection as the given in the circuit diagram.

After completing the Connection next step is to write the code and program for our project.

Code

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0; 

void setup() {
  // put your setup code here, to run once:
 myservo.attach(11);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
Serial.begin(9600);
digitalWrite(6, HIGH);
}

void loop() {
  // put your main code here, to run repeatedly:

int a = analogRead(A0);
int b = analogRead(A1);
int c = analogRead(A2);
Serial.print(a);
Serial.print("    ");
Serial.print(b);
Serial.print("    ");
Serial.print(c);
Serial.println("    "); 
delay(50);

if (a<=250)

{
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  
  digitalWrite(6, LOW);
  
  for (pos = 60; pos <= 120; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 120; pos >= 60; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 60; pos <= 120; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 120; pos >= 60; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 60; pos <= 120; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 120; pos >= 60; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  //delay(200);
  
  }


  else if(b<=450)

{

digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  
  digitalWrite(6, LOW);
for (pos = 60; pos <= 120; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 120; pos >= 60; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 60; pos <= 120; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 120; pos >= 60; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 60; pos <= 120; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 120; pos >= 60; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }

  }
  else if(c<=250)

{

digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  
  digitalWrite(6, LOW);
for (pos = 60; pos <= 120; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 120; pos >= 60; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 60; pos <= 120; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 120; pos >= 60; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 60; pos <= 120; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }
  for (pos = 120; pos >= 60; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15 ms for the servo to reach the position
  }

  }
  

else if(a>=251 && a<=700)

{
 digitalWrite(6, HIGH);

 

digitalWrite(2, LOW);
  digitalWrite(3,HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);

  
  delay(500);
  
  digitalWrite(6, HIGH);
  
digitalWrite(2, HIGH);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  delay(500);

  }



else if(b>=251 && b<=800)

{



digitalWrite(2, LOW);
  digitalWrite(3,HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  
  digitalWrite(6, HIGH);

  


  }




else if(c>=251 && c<=800)

{


  
  digitalWrite(2, HIGH);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);

  
  digitalWrite(6, HIGH);
delay(500);
  digitalWrite(6, HIGH);
  
digitalWrite(2, HIGH);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  delay(500);

  }

else 

{
digitalWrite(6, HIGH);

digitalWrite(2, HIGH);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  digitalWrite(5, LOW);
  
 
  
  }
  
  

  }

Working

So, there in the working of Fire fighter robot we are providing the algorithm first so you can have the idea about the basic working of the robot.

There are we are using 3 IR flame sensor which are continuously seeking for fire or flame. The IR Flame sensor sense the warm and heat from any body. and we coded this sensor that it can sense the flame around it. All three sensor always searching for fire. if any of the sensor will find it. the robot will turn and start walking toward the fire.

How does it work? The flame sensor sense the fire and send the information to the Arduino which is the brain of this robot. The brain will take the action according to the condition and information getting from the sensor. Arduino will give the commands to the Motors to start in the walk in the desired direction. if left sensor give the information about the fire then the Arduino will run the motor in left direction. same for the front and right side motor.

The robot will stop near to the fire and start watering to it till the fire will be under control.

Algorithm

Fire fighter robot using arduino

Application

Fire fighter robot can be used in the Area where a can’t go

Fire fighter obot use in war

Fire fighter robot can be used at big kitchen

Fire fighter robot can be used it Restaurent

Leave a Comment