Fire Detection Sensors on a Cell Phone-Controlled Robot

HARDWARE :

L293D motor Driver
Robot chassis with motors and wheel
Fire sensor or Flame sensor (3 Nos)
Servo Motor
Arduino UNO
Small Breadboard
Robot chassis with motors and wheel (any type)
A small can
Connecting wires

Overview :

According to the National Crime Records Bureau (NCRB), more than 1.2 lakh people died in India as a result of fire incidents between 2010 and 2014. Even though many measures are taken to prevent fires, natural and man-made disasters do occur from time to time. In the case of a fire, we are compelled to employ human resources, which are not safe, to rescue people and put out the fire. With the growth of technology, particularly in robotics, it is extremely probable that humans will be replaced by robots in firefighting.

This would increase firefighters’ efficiency while simultaneously preventing them from endangering human lives. Today, we’ll use Arduino to create a Fire Fighting Robot that will automatically detect a fire and activate the water pump.

INTRODUCTION AND RELATED WORK :

W. Burgard and M. Moors claimed that separate maps created for each robot are more accurate than maps created using odometry data.

When one robot identifies another, it sends its processed map to the master robot, which may construct an extremely precise global map.

This cuts down on the time it takes to create the global map. They were particularly interested in demonstrating a multi-robot mapping and localization system. The difficulty of learning maps and efficiently exploring an unusual area is known as SLAM in mobile robots (simultaneous localization and mapping problem).

Guzzoni emphasises the fire sources and codes an escape path for intelligent buildings utilising mobile robots, and then shows the movement scenario in an experimental platform. The mobile robot is shaped like a cylinder, with a diameter of 10cm, a height of 18cm, and a weight of 1.5kg. The mobile robot’s controller is an MCS-51 microprocessor that gets control commands from the supervised compute through wireless RF interface and gathers detection data from flame sensor and reflecting IR sensors.

The supervised computer computes the risk values around the fire using the Gauss probability distribution function, and the overall risk values of each position of the experimental platform using the Bayesian estimation procedure. To programme fleeing pathways based on the risk distribution of each cross point in the platform, we suggested the A* searching algorithm.

Y. Cao’s research focuses on systems made up of several autonomous mobile robots that cooperate. The goal is to examine topics like group architecture, resource conflict, the genesis of cooperation, learning, and geometric challenges by constructing groups of mobile robots. Few applications of cooperative robots have been documented so far, and there is still a lot of work to be done.

Block Diagram :

Working Firefighting Robot Concept :

The Arduino serves as the project’s main brain, however we need the Fire sensor module (flame sensor) shown below to detect fire.

These sensors, as you can see, feature an IR Receiver (Photodiode) that detects fire. What causes that this is possible? When a fire burns, it generates a little quantity of infrared light, which is detected by the sensor module’s IR receiver. Then we use an Op-Amp to check for voltage changes across the IR Receiver, such that if a fire is detected, the output pin (DO) will be 0V(LOW), and if there isn’t, the output pin will be 5V. (HIGH).

As a result, we deploy three of these sensors in three different orientations on the robot to determine which way the fire is burning.

Circuit Diagram :

Code :

#include <Servo.h>
Servo myservo;
 
int pos = 0;    
boolean fire = false;
 
/*-------defining Inputs------*/
#define Left_S 9      // left sensor
#define Right_S 10      // right sensor
#define Forward_S 8 //forward sensor
 
/*-------defining Outputs------*/
#define LM1 2       // left motor
#define LM2 3       // left motor
#define RM1 4       // right motor
#define RM2 5       // right motor
#define pump 6
 
void setup()
{
  pinMode(Left_S, INPUT);
  pinMode(Right_S, INPUT);
  pinMode(Forward_S, INPUT);
  pinMode(LM1, OUTPUT);
  pinMode(LM2, OUTPUT);
  pinMode(RM1, OUTPUT);
  pinMode(RM2, OUTPUT);
  pinMode(pump, OUTPUT);
 
  myservo.attach(11);
  myservo.write(90); 
}
 
void put_off_fire()
{
    delay (500);
 
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, HIGH);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, HIGH);
    
   digitalWrite(pump, HIGH); delay(500);
    
    for (pos = 50; pos <= 130; pos += 1) { 
    myservo.write(pos); 
    delay(10);  
  }
  for (pos = 130; pos >= 50; pos -= 1) { 
    myservo.write(pos); 
    delay(10);
  }
  
  digitalWrite(pump,LOW);
  myservo.write(90);
  
  fire=false;
}
 
void loop()
{
   myservo.write(90); //Sweep_Servo();  
 
    if (digitalRead(Left_S) ==1 && digitalRead(Right_S)==1 && digitalRead(Forward_S) ==1) //If Fire not detected all sensors are zero
    {
    //Do not move the robot
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, HIGH);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, HIGH);
    }
    
    else if (digitalRead(Forward_S) ==0) //If Fire is straight ahead
    {
    //Move the robot forward
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    fire = true;
    }
    
    else if (digitalRead(Left_S) ==0) //If Fire is to the left
    {
    //Move the robot left
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, HIGH);
    }
    
    else if (digitalRead(Right_S) ==0) //If Fire is to the right
    {
    //Move the robot right
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, HIGH);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    }
    
delay(300); //Slow down the speed of robot
 
     while (fire == true)
     {
      put_off_fire();
     }
}

“Work for your dreams, Help someone for your satisfaction.” – KP

– Helping Hands.

About the author

pondabrothers

View all posts

1 Comment

Leave a Reply

Your email address will not be published.