0% found this document useful (0 votes)
15 views2 pages

Op

Uploaded by

bhel13498
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views2 pages

Op

Uploaded by

bhel13498
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

/*------ Arduino Fire Fighting Robot Code----- */

#include <Servo.h> //include servo.h library


Servo myservo; //create servo object
int pos = 0; //variable to store servo position
int motor_speed = 70; //variable to store motor speed
boolean fire = false; //variable to store fire status

/*-------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 // water pump

void setup()
{
pinMode(Left_S, INPUT); //set left sensor as input
pinMode(Right_S, INPUT); //set right sensor as input
pinMode(Forward_S, INPUT); //set forward sensor as input
pinMode(LM1, OUTPUT); //set left motor pins as output
pinMode(LM2, OUTPUT);
pinMode(RM1, OUTPUT); //set right motor pins as output
pinMode(RM2, OUTPUT);
pinMode(pump, OUTPUT); //set water pump pin as output
myservo.attach(11); //attach servo to pin 11
myservo.write(90); //set servo to 90 degrees
}

void loop()
{
int LS = digitalRead(Left_S); //read left sensor value
int RS = digitalRead(Right_S); //read right sensor value
int FS = digitalRead(Forward_S); //read forward sensor value

if (FS == LOW) //if fire is detected in front


{
fire = true; //set fire status to true
stop_motor(); //stop the motors
myservo.write(90); //set servo to 90 degrees
delay(500); //wait for half a second
digitalWrite(pump, HIGH); //turn on water pump
delay(5000); //spray water for 5 seconds
digitalWrite(pump, LOW); //turn off water pump
delay(1000); //wait for a second
}
else if (LS == LOW) //if fire is detected on left
{
fire = true; //set fire status to true
stop_motor(); //stop the motors
myservo.write(180); //set servo to 180 degrees
delay(500); //wait for half a second
digitalWrite(pump, HIGH); //turn on water pump
delay(5000); //spray water for 5 seconds
digitalWrite(pump, LOW); //turn off water pump
delay(1000); //wait for a second
}
else if (RS == LOW) //if fire is detected on right
{
fire = true; //set fire status to true
stop_motor(); //stop the motors
myservo.write(0); //set servo to 0 degrees
delay(500); //wait for half a second
digitalWrite(pump, HIGH); //turn on water pump
delay(5000); //spray water for 5 seconds
digitalWrite(pump, LOW); //turn off water pump
delay(1000); //wait for a second
}
else //if no fire is detected
{
fire = false; //set fire status to false
move_forward(); //move the robot forward
}
}

void move_forward() //function to move the robot forward


{
analogWrite(LM1, motor_speed); //set left motor speed
analogWrite(LM2, 0);
analogWrite(RM1, motor_speed); //set right motor speed
analogWrite(RM2, 0);
}

void stop_motor() //function to stop the robot


{
analogWrite(LM1, 0); //set left motor speed to zero
analogWrite(LM2, 0);
analogWrite(RM1, 0); //set right motor speed to zero
analogWrite(RM2, 0);
}

You might also like