Flame sensore detects dire where there isnt

I have a project that is similar to a fire car which has 3 fire sensors, ultrasonic sensors, servo, water pumps, and motor drivers. the task of each fire sensor is to detect and then drive to the position of the fire. but the left sensor seems to always detect fire and it messed up the car can I get help?
there is the code:

#include <Servo.h>

/הגדרת משתנים/
Servo myServo;
int angle = 0;
const int pump= 2;
const int LM1= 3;
const int RM1= 5;
int BUZZER = 10;
const int flamesensoreright = 11;
const int flamesensoremiddle = 12;
const int flamesensoreleft = 13;
const int trigPin = A4;
const int echoPin = A5;
int fireright = HIGH;
int firemiddle = HIGH;
int fireleft = HIGH;
long duration;
int distance;
int safetyDistance;
void setup() {
/הגדרת יציאות או כניסות לאדואינו /
myServo.attach(9);
pinMode(flamesensoreright, INPUT);
pinMode(flamesensoremiddle, INPUT);
pinMode(flamesensoreleft, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(BUZZER, OUTPUT);
pinMode(LM1, OUTPUT);
pinMode(RM1, OUTPUT);
pinMode(pump, OUTPUT);
}
void loop() {
/הגזרת זווית התחלתית למנוע סרוו/
myServo.write(angle);
angle=10;
digitalWrite(BUZZER, LOW);
myServo.write(angle);
/הגדרת שווי חדש לחיישנים שלנו בכדי שנוכל להבין את הקוד יותר טוב ופעולות "אם" לכל חיישן למקרה שהוא קולט להבה/
fireright = digitalRead(flamesensoreright);
firemiddle = digitalRead(flamesensoremiddle);
fireleft = digitalRead(flamesensoreleft);
/אם התנאי הזה קורה אז המנוע הימני יתחיל לנוע עם כיוון השעון והבאזר יתחיל לעבוד ולשמש כסירנה/
if(fireright==LOW)
{
digitalWrite(RM1, HIGH);
digitalWrite(BUZZER, HIGH);
}
/
אותה תוצאה כמו בתנאי הקודם רק פה התנאי בודק את החיישן השמאלי ובמקום שהמנוע הימני יתחיל לנוע אז המנוע השמאלי מתחיל לעבוד ולנוע עם כיוון השעון והבאזר מופעל
/
if(fireleft==LOW)
{
digitalWrite(LM1, HIGH);
digitalWrite(BUZZER, HIGH);
}
/אם החיישן המצאי קולט להבה אז שני המנועים מתחילים לנוע ישר והבאזר מתחיל לפעול/
if(firemiddle==LOW)
{
digitalWrite(RM1, HIGH);
digitalWrite(LM1, HIGH);
digitalWrite(BUZZER, HIGH);

/פה חיישן המרחק מתחיל לעבוד ולשלוח גל אולטרה סוני כדי לבדוק את המרחק וזה קורה על ידי נוסחא של מהירות כפול זמן שווה מרחק/
digitalWrite(trigPin, LOW);
delayMicroseconds(10);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance= duration0.034/2;
safetyDistance = distance;
/אם המרחק שהחיישן קולט קטן מ20 סנטימטרים אז מה שבתוך התנאי קורה /
if (safetyDistance <= 20)
{
/
לולאה שמשנה את זווית של המנוע סרוו ובאותו זמן מפעילה את משאבת המים
/
digitalWrite(RM1, LOW);
digitalWrite(LM1, LOW);
for (angle = 50; angle <= 130; angle += 1) {
myServo.write(angle);
digitalWrite(pump,HIGH);
delay(20);
}
/
הלולאה חוזרת על עצמה רק בכיוון ההפוך ומכבה את משאבת המים*/
for (angle = 130; angle >= 50; angle -= 1) {
myServo.write(angle);
delay(10);
digitalWrite(pump,LOW);
}
}
}
/אם שלושת החיינים לא קולטים להבה אז שני המנועים משאבת המים והבאזר נשארים כבויים/
if(fireright==HIGH&&firemiddle==HIGH&&fireleft==HIGH)
{
digitalWrite(RM1, LOW);
digitalWrite(LM1, LOW);
digitalWrite(pump, LOW);
digitalWrite(BUZZER,LOW);
}
}

And now with code tags, please.

After adding the "code tags", please also post a wiring diagram and links to the sensors.

Hi, @calin.paierele12
Welcome to the forum.

Please read the post at the start of any forum , entitled "How to use this Forum".

This will show you how the post your code in a scrolling window.
Can you also post a circuit diagram of YOUR project please?

Thanks.. Tom... :grinning: :+1: :coffee: :australia:

Reliable IR flame sensing makes use of the flicker in the signal from a real flame .