Proyecto (robot de sumo)

hola que tal, me gustaría que me ayudaran con mi proyecto con arduino, debo hacer un robot de sumos para un proyecto y me gustaría que me ayudaran a corregir mi código o a decirme como hacerle para que mi proyecto funcione bien, los materiales que usare son:
unos sensores sharp.
arduino nano.
servo motores mg 996r.
sensores de proximidad o borde.

void setup(){
//entradas de los sensores
int SharpDer = A0; 
int SharpIzq= A1; 
int QtrDer   = A2;
int QtrIzq   = A3;
int SharpladoDer = A4; 
int SharpladoIzq = A5;    // lee los valores de los sensores
int Sizq = 0;
int Sder = 0;
int SLadoizq = 0;
int SLadoder = 0;
int Qder = 0;
int Qizq = 0;   //pines de los motores
int Mder1 = 4;
int Mder2 = 5;
int Mizq1 = 6;
int Mizq2 = 7;
int Led = 8;
}    
void setup() {                          
 pinMode(Mder1, OUTPUT);     
 pinMode(Mder2, OUTPUT); 
 pinMode(Mizq1, OUTPUT);
 pinMode(Mizq2, OUTPUT); 
 pinMode(Led, OUTPUT); 
 digitalWrite(Led, HIGH);
 }
void loop(){
   //sensores();
if((SLadoizq<=300)&&(Sizq<=300)&&(Sder<=300)&&(SLadoder<=300)){derechasuave();}
if((SLadoizq<=300)&&(Sizq<=300)&&(Sder<=300)&&(SLadoder>=300)){derechafuerte();}
if((SLadoizq<=300)&&(Sizq<=300)&&(Sder>=300)&&(SLadoder<=300)){derechasuave();} 
if((SLadoizq<=300)&&(Sizq>=300)&&(Sder<=300)&&(SLadoder<=300)){izquierdasuave();} 
if((SLadoizq<=300)&&(Sizq>=300)&&(Sder>=300)&&(SLadoder<=300)){adelante();}
if((SLadoizq>=300)&&(Sizq<=300)&&(Sder<=300)&&(SLadoder<=300)){izquierdafuerte();}
if((Qder<=500)||(Qizq<=500)){atras();delay(200);}   
}
void sensores (){
 Sder = analogRead(SharpDer); // Lectura de Sensores
 delay(1);   
 Sizq = analogRead(SharpIzq); 
 delay(1);   
 SLadoder = analogRead(SharpladoDer); 
 delay(1);   
 SLadoizq = analogRead(SharpladoIzq); 
 delay(1); 
 Qder = analogRead(QtrDer); 
 delay(1);   
 Qizq = analogRead(QtrIzq); 
 delay(1);   
}
 void adelante(){
   digitalWrite(Mder1,HIGH);
   digitalWrite(Mder2, LOW);
   digitalWrite(Mizq1, HIGH);
   digitalWrite(Mizq2, LOW);
}
void atras(){
 digitalWrite(Mder1, LOW);
 digitalWrite(Mder2, HIGH);
 digitalWrite(Mizq1, LOW);
 digitalWrite(Mizq2, HIGH);
}
 void parar(){
   digitalWrite(Mder1, LOW);
   digitalWrite(Mder2, LOW);
   digitalWrite(Mizq1, LOW);
   digitalWrite(Mizq2, LOW);
}
  void derechasuave(){
   digitalWrite(Mder1, LOW);
   digitalWrite(Mder2, LOW);
   digitalWrite(Mizq1, HIGH);
   digitalWrite(Mizq2, LOW);
}
  void derechafuerte(){
   digitalWrite(Mder1, LOW);
   digitalWrite(Mder2, HIGH);
   digitalWrite(Mizq1, HIGH);
   digitalWrite(Mizq2, LOW);
}
  void izquierdasuave(){
   digitalWrite(Mder1, HIGH);
   digitalWrite(Mder2, LOW);
   digitalWrite(Mizq1, LOW);
   digitalWrite(Mizq2, LOW);
}
  void izquierdafuerte(){
   digitalWrite(Mder1, HIGH);
   digitalWrite(Mder2, LOW);
   digitalWrite(Mizq1, LOW);
   digitalWrite(Mizq2, HIGH);
}

espero me puedan ayudar con mi proyecto. gracias