Çizgi izleyen robot sorun

Merhabalar,çizgi izleyen bir robot yapıyorum sistemi baştan sona yaptıktan sonra kodunuda hazırladıktan sonra doğru düzgün çalışmıyor bir sorun yaşıyorum sensörlerim tam doğru düzgün çalışmıyor sensörler boştayken bile havadayken aniden çalışıyor ama sadece sol motor çalışıyor.
Bana bu konu da yardımcı olabilirmisiniz final projem yetiştirmem gerek.
kodum da bu;

#define SensorSol 10
#define SensorOrta 11
#define SensorSag 12

#define MotorR1 7
#define MotorR2 6
#define MotorRE 9

#define MotorL1 5
#define MotorL2 4
#define MotorLE 3

void setup() {

pinMode(SensorSol, INPUT);
pinMode(SensorOrta, INPUT);
pinMode(SensorSag, INPUT);

pinMode(MotorR1, OUTPUT);
pinMode(MotorR2, OUTPUT);

pinMode(MotorL1, OUTPUT);
pinMode(MotorL2, OUTPUT);

}

void loop() {

if(digitalRead(SensorSol) == 0 && digitalRead(SensorOrta) == 1 && digitalRead(SensorSag) == 0){
ileri();
}

if(digitalRead(SensorSol) == 0 && digitalRead(SensorOrta) == 0 && digitalRead(SensorSag) == 1){
sag();

}

if(digitalRead(SensorSol) == 1 && digitalRead(SensorOrta) == 0 && digitalRead(SensorSag) == 0){
sol();

}

}

void ileri(){

digitalWrite(MotorR1, HIGH);
digitalWrite(MotorR2, LOW);
analogWrite(MotorRE, 150);

digitalWrite(MotorL1, HIGH);
digitalWrite(MotorL2, LOW);
analogWrite(MotorLE, 150);

}

void sag(){

digitalWrite(MotorR1, HIGH);
digitalWrite(MotorR2, LOW);
analogWrite(MotorRE, 0);

digitalWrite(MotorL1, HIGH);
digitalWrite(MotorL2, LOW);
analogWrite(MotorLE, 150);

}

void sol(){

digitalWrite(MotorR1, HIGH);
digitalWrite(MotorR2, LOW);
analogWrite(MotorRE, 150);

digitalWrite(MotorL1, HIGH);
digitalWrite(MotorL2, LOW);
analogWrite(MotorLE, 0);

}

Hocam kullandığınız güç kaynağı ve voltaj amper değeri nedir?