New Code For Fire Fighting Robot
New Code For Fire Fighting Robot
h>
#include <Adafruit_MLX90614.h>
#include <Servo.h>
// Pin Definitions
#define Left 8
#define Right 9
#define Forward 10
#define LM1 2
#define LM2 3
#define RM1 4
#define RM2 5
#define pump 6
Adafruit_MLX90614 mlx;
Servo myservo;
void setup() {
// Initialize pins
pinMode(Left, INPUT);
pinMode(Right, INPUT);
pinMode(Forward, INPUT);
pinMode(LM1, OUTPUT);
pinMode(LM2, OUTPUT);
pinMode(RM1, OUTPUT);
pinMode(RM2, OUTPUT);
pinMode(pump, OUTPUT);
pinMode(RELAY_PIN, OUTPUT);
mlx.begin();
Serial.begin(9600);
void sweepServo() {
myservo.write(pos);
delay(10);
myservo.write(pos);
delay(10);
void putOffFire() {
digitalWrite(LM1, LOW);
digitalWrite(LM2, LOW);
digitalWrite(RM1, LOW);
digitalWrite(RM2, LOW);
void loop() {
Serial.print(temp);
Serial.println(" *C");
if (temp > 37.0 || flameSensorValue > 500) { // Adjust threshold based on testing
putOffFire();
} else {
// Check the movement sensors for the robot (optional for robot navigation)
digitalWrite(LM1, HIGH);
digitalWrite(LM2, HIGH);
digitalWrite(RM1, HIGH);
digitalWrite(RM2, HIGH);
} else {
digitalWrite(LM1, HIGH);
digitalWrite(LM2, LOW);
digitalWrite(RM1, HIGH);
digitalWrite(RM2, LOW);
if (leftSensor == LOW) {
// Turn left
digitalWrite(LM1, HIGH);
digitalWrite(LM2, LOW);
digitalWrite(RM1, HIGH);
digitalWrite(RM2, HIGH);
if (rightSensor == LOW) {
// Turn right
digitalWrite(LM1, HIGH);
digitalWrite(LM2, HIGH);
digitalWrite(RM1, HIGH);
digitalWrite(RM2, LOW);
}
}