aakash jaiswal
Created June 25, 2022

Fire fighting robot without pump

Robot for fighting fire using Arduino uno without using a pump.

Fire fighting robot without pump

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Dual H-Bridge motor drivers L298
SparkFun Dual H-Bridge motor drivers L298
×1
SG90 Micro-servo motor
SG90 Micro-servo motor
×1
DC Motor, 12 V
DC Motor, 12 V
×2
Wheels
×2
mini drone motor
×1
Jumper wires (generic)
Jumper wires (generic)
×1
Battery, 12 V
Battery, 12 V
×1
Gravity: Analog Flame Sensor For Arduino
DFRobot Gravity: Analog Flame Sensor For Arduino
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Hot glue gun (generic)
Hot glue gun (generic)

Story

Read more

Schematics

Connection diagram

Code

coding.ino

Arduino
// coding by team technical romboz 
// tutorial video https://youtu.be/1t2AhUNXxMI
#include <Servo.h>  //include servo.h library
Servo myservo;
int pos = 0;
boolean fire = false;

#define flame 8   //flame sesnor
#define LM1 2       // left motor
#define LM2 3       // left motor
#define RM1 4       // right motor
#define RM2 5       // right motor
#define fire_motor 6

void setup()
{

  pinMode(flame, INPUT);
  pinMode(LM1, OUTPUT);
  pinMode(LM2, OUTPUT);
  pinMode(RM1, OUTPUT);
  pinMode(RM2, OUTPUT);
  pinMode(fire_motor, OUTPUT);
  myservo.attach(9);
  myservo.write(90);
  digitalWrite(fire_motor, 1);

}

void put_off_fire()
{
  delay (500);

  digitalWrite(LM1, HIGH);
  digitalWrite(LM2, HIGH);
  digitalWrite(RM1, HIGH);
  digitalWrite(RM2, HIGH);

  digitalWrite(fire_motor, 0);
  delay(500);

  for (pos = 50; pos <= 130; pos += 1) {
    myservo.write(pos);
    delay(30);
  }
  for (pos = 130; pos >= 50; pos -= 1) {
    myservo.write(pos);
    delay(30);
  }

  digitalWrite(fire_motor, 1);
  myservo.write(90);

  fire = false;
}

void loop()
{
  myservo.write(90); //Sweep_Servo();

  if (digitalRead(flame) == 1)
  {

    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, HIGH);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, HIGH);
  }

  else if (digitalRead(flame) == 0)
  {
    digitalWrite(LM1, HIGH);
    digitalWrite(LM2, LOW);
    digitalWrite(RM1, HIGH);
    digitalWrite(RM2, LOW);
    fire = true;
  }

  delay(0);//change this value to increase the distance

  while (fire == true)
  {
    put_off_fire();
  }
}

Credits

aakash jaiswal
17 projects • 26 followers

Comments