0% found this document useful (0 votes)
7 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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 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
We take content rights seriously. If you suspect this is your content, claim it here.
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