0% found this document useful (0 votes)
2 views

Arduino code

The document contains an Arduino program that controls a fire-fighting robot using servo motors and sensors. It defines inputs for left, right, and forward sensors, and outputs for motors and a pump. The robot moves towards detected fire and activates a pump to extinguish it when fire is present.

Uploaded by

iitianghosh007
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Arduino code

The document contains an Arduino program that controls a fire-fighting robot using servo motors and sensors. It defines inputs for left, right, and forward sensors, and outputs for motors and a pump. The robot moves towards detected fire and activates a pump to extinguish it when fire is present.

Uploaded by

iitianghosh007
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

#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 12

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 = 40; pos <= 140; pos += 1) {

myservo.write(pos);

delay(20);

for (pos = 140; pos >= 40; pos -= 1) {

myservo.write(pos);

delay(20);

digitalWrite(pump,LOW);

myservo.write(90);

if (digitalRead(Left_S) ==1 && digitalRead(Right_S)==1 &&


digitalRead(Forward_S) ==1)
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 ONE

//move the robot

digitalWrite(LM1, LOW);

digitalWrite(LM2, HIGH);

digitalWrite(RM1, HIGH);

digitalWrite(RM2, LOW);
}

else if (digitalRead(Right_S) == 0) //If Fire is to the right

//Move the robot right

fire = true;

digitalWrite(LM1, LOW);

digitalWrite(LM2, HIGH);

digitalWrite(RM1, HIGH);

digitalWrite(RM2, HIGH);

else if (digitalRead(Left_S) == 0) //If Fire is to the left

//Move the robot left

fire = true;

digitalWrite(LM1, HIGH);

digitalWrite(LM2, HIGH);

digitalWrite(RM1, HIGH);

digitalWrite(RM2, LOW);

else if (digitalRead(Forward_S) == 0) //if fire is in front


{
//Move the robot forward a bit

fire = true;

digitalWrite(LM1, LOW);

digitalWrite(LM2, HIGH);

digitalWrite(RM1, HIGH);

digitalWrite(RM2, LOW);

}
delay(300); //Slow down the speed of robot

while (fire == true)

put_off_fire();

You might also like