Programación Robot Sumo

Necesito hacer un robot sumo para la Universidad, pero esta con unos pequeños errores. Por favor, ayuda, ya no tengo a quien recorrer!

long distancia=50;
long distanciaDer=50;
long distanciaIzq=50;
long tiempo;
long tiempoDer;
long tiempoIzq;

int echoPin = 8;
int trigPin = 9;

int echoDer = A0;
int trigDer = A1;
int echoIzq = A2;
int trigIzq = A3;

int S1Pin=2; // cuadrante 1
int S2Pin=3; // cuadrante 2
int S3Pin=4; // cuadrante 3
int S4Pin=7; // cuadrante 4

int S1=0;
int S2=0;
int S3=0;
int S4=0;

int MOTDaPin=10;
int MOTDbPin=11;
int MOTIaPin=6;
int MOTIbPin=5;

const int button_Pin = 12;
int i=0;
int LED = 13;
int buttonState = 0;
#define parar;

void setup(){
  Serial.begin(9600);
  pinMode(echoPin,INPUT);
  pinMode(trigPin,OUTPUT);
  pinMode(echoDer,INPUT);
  pinMode(trigDer,OUTPUT); 
  pinMode(echoIzq,INPUT);
  pinMode(trigIzq,OUTPUT);
  pinMode(S1Pin,INPUT);
  pinMode(S2Pin,INPUT);
  pinMode(S3Pin,INPUT);
  pinMode(S4Pin,INPUT);
  pinMode(MOTDaPin,OUTPUT);
  pinMode(MOTDbPin,OUTPUT);
  pinMode(MOTIaPin,OUTPUT);
  pinMode(MOTIbPin,OUTPUT);
  pinMode(LED,OUTPUT);
  pinMode(button_Pin,INPUT);
  parar();

  buttonState = digitalRead(button_Pin);
  while(buttonState==LOW){ 
    parar ();  
  }
  }
    buttonState = digitalRead(button_Pin);
    digitalWrite(LED,HIGH);
    }
    digitalWrite(LED,LOW);

void ultrasonico(){
  digitalWrite(trigPin,LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin,HIGH);
  delayMicroseconds(10);
  tiempo=pulseIn(echoPin,HIGH);
  distancia= int(0.017*tiempo);  
}
void ultrasonicoDer(){
  digitalWrite(trigDer,LOW);
  delayMicroseconds(5);
  digitalWrite(trigDer,HIGH);
  delayMicroseconds(10);
  tiempoDer=pulseIn(echoDer,HIGH);
  distanciaDer= int(0.017*tiempoDer);  
}
void ultrasonicoIzq(){
  digitalWrite(trigIzq,LOW);
  delayMicroseconds(5);
  digitalWrite(trigIzq,HIGH);
  delayMicroseconds(10);
  tiempoIzq=pulseIn(echoIzq,HIGH);
  distanciaIzq= int(0.017*tiempoIzq);  
}
void leerSensor(){
  S1 = digitalRead(S1Pin);
  S2 = digitalRead(S2Pin);
  S3 = digitalRead(S3Pin);
  S4 = digitalRead(S4Pin);    
}
void localizacion(){
  ultrasonico();
  ultrasonicoDer();
  ultrasonicoOzq();
  leerSensor();

  while(distancia>=40&&S1==HIGH&&S2==HIGH&&S3==HIGH&&S4==HIGH){
    if(distanciaDer<=40){
      derecha1();
      delay(600);
      ultrasonico();
      ultrasonicoDer();
      ultrasonicoIzq();
      leerSensor();
      }else{
        izquierda1()
        delay(200);
        ultrasonico();
        ultrasonicoDer();
        ultrasonicoIzq();
        leerSensor();
      }
    }
  void izquierda1(){
    analogWrite(MOTIaPin,255);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(50);
  }
   void derecha1(){
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,255);
    analogWrite(MOTDbPin,0);
    delay(50);
  }
 void contrataque(){
  for(i=0;i<7;i++){
    //adelante
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(100);
    //parar
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,0);
    delay(50);
    //izquierda
    analogWrite(MOTIaPin,255);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(100);
    //derecha
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,255);
    analogWrite(MOTDbPin,0);
    delay(100);
    
    }
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(50);
    }

    void adelante(){
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(50);
    }

    void parar(){
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,0);
    delay(50);
    }

    void retroceder(){
    analogWrite(MOTIaPin,255);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,255);
    analogWrite(MOTDbPin,0);
    delay(50);
    }

    void loop(){
    localizacion();
    delay(50);
    adelante();
    leerSensor();
    if(distancia<=30&&S1==LOW&&S2==LOW){
      retroceder();
      delay(100);
    }
    ////////EN CASO DE ATACAR Y ENCONTRAR LIMITE BLANCO/////
    leerSensor();
    if(didstancia<=30&&S1==LOW){
      if(S2==LOW){
        retroceder();
        delay(650);
      }
      retroceder();
      delay(650);
    }
    if(distancia<=30&&S2==LOW){
      if(S1==LOW){
        retrocceder();
        delay(650);
      }
      retroceder();
      delay(650);
    }
    leerSensor();
    if(distancia<=30&&S3==LOW){
      if(S4==LOW){
        contrataque();
        delay(150);
    }
    leerSensor();
    if(distancia<=30&&S4==LOW){
      if(S3==LOW){
        contrataque();
        delay(50);
      }
      contrataque();
      delay(100);
    }

: smiley-confuse:

 Y esos son los mensajes de error:

C:\Users\Lenovo\Documents\Arduino\Prograacao_final\Prograacao_final.ino:35:14: warning: ISO C++11 requires whitespace after the macro name

 #define parar;

              ^

C:\Users\Lenovo\Documents\Arduino\Prograacao_final\Prograacao_final.ino: In function 'void setup()':

Prograacao_final:55:9: error: expected primary-expression before ')' token

   parar();

         ^

Prograacao_final:59:12: error: expected primary-expression before ')' token

     parar ();  

            ^

C:\Users\Lenovo\Documents\Arduino\Prograacao_final\Prograacao_final.ino: At global scope:

Prograacao_final:62:5: error: 'buttonState' does not name a type

     buttonState = digitalRead(button_Pin);

     ^

Prograacao_final:63:17: error: expected constructor, destructor, or type conversion before '(' token

     digitalWrite(LED,HIGH);

                 ^

Prograacao_final:64:5: error: expected declaration before '}' token

     }

exit status 1
expected primary-expression before ')' token

Si tu error es este

#define parar;

y estas en la universidad creo que te pasaste algunos capítulos de programación sin leer.

Google: Arduino define que dice?

Mira la primer respuesta link

Syntax
#define constantName value

Donde ves un punto y coma? En ningún lado.

Sorprendentemente el compilador te dice

#define parar;

^

y mira donde apunta? justo en el punto y coma

Luego cuando el error es de esta naturaleza se vuelve loco y tira una zarta de cosas sin sentido al menos para mi.

Asi que empieza por esa corrección

#define prueba TE_FALTA_ALGO_ACA

Estoy buscando ayuda justamente porque la profesora no dió ninguna base para ese proyecto (Y estoy en Ingeniería Mecánica, sólo vimos algo basico de electrónica y nada de programación. Ya corregí algunos errores, solo me quedó ese, que no sé como hacerlo.

Codigo Actualizado

long distanciaDer=50;
long distanciaIzq=50;
long tiempo;
long tiempoDer;
long tiempoIzq;


int echoPin = 8;
int trigPin = 9;

int echoDer = A0;
int trigDer = A1;
int echoIzq = A2;
int trigIzq = A3;

int S1Pin=2; // cuadrante 1
int S2Pin=3; // cuadrante 2
int S3Pin=4; // cuadrante 3
int S4Pin=7; // cuadrante 4

int S1=0;
int S2=0;
int S3=0;
int S4=0;

int MOTDaPin=10;
int MOTDbPin=11;
int MOTIaPin=6;
int MOTIbPin=5;

//#include "buttonState"
const int button_Pin = 12;
int i=0;
int LED = 13;
int buttonState = 0;

void parar();

void setup(){
  Serial.begin(9600);
  pinMode(echoPin,INPUT);
  pinMode(trigPin,OUTPUT);
  pinMode(echoDer,INPUT);
  pinMode(trigDer,OUTPUT); 
  pinMode(echoIzq,INPUT);
  pinMode(trigIzq,OUTPUT);
  pinMode(S1Pin,INPUT);
  pinMode(S2Pin,INPUT);
  pinMode(S3Pin,INPUT);
  pinMode(S4Pin,INPUT);
  pinMode(MOTDaPin,OUTPUT);
  pinMode(MOTDbPin,OUTPUT);
  pinMode(MOTIaPin,OUTPUT);
  pinMode(MOTIbPin,OUTPUT);
  pinMode(LED,OUTPUT);
  pinMode(button_Pin,INPUT);
  parar();{
}

  buttonState = digitalRead(button_Pin);
  while(buttonState==LOW){ 
  parar ();  
  }
  }
  buttonState = digitalRead(button_Pin);
  }
  {  
    digitalWrite(LED,HIGH);
    digitalWrite(LED,LOW);
}
void ultrasonico(){
  digitalWrite(trigPin,LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin,HIGH);
  delayMicroseconds(10);
  tiempo=pulseIn(echoPin,HIGH);
  distancia= int(0.017*tiempo);  
}
void ultrasonicoDer(){
  digitalWrite(trigDer,LOW);
  delayMicroseconds(5);
  digitalWrite(trigDer,HIGH);
  delayMicroseconds(10);
  tiempoDer=pulseIn(echoDer,HIGH);
  distanciaDer= int(0.017*tiempoDer);  
}
void ultrasonicoIzq(){
  digitalWrite(trigIzq,LOW);
  delayMicroseconds(5);
  digitalWrite(trigIzq,HIGH);
  delayMicroseconds(10);
  tiempoIzq=pulseIn(echoIzq,HIGH);
  distanciaIzq= int(0.017*tiempoIzq);  
}
void leerSensor(){
  S1 = digitalRead(S1Pin);
  S2 = digitalRead(S2Pin);
  S3 = digitalRead(S3Pin);
  S4 = digitalRead(S4Pin);    
}
void localizacion(){
  ultrasonico();
  ultrasonicoDer();
  ultrasonicoOzq();
  leerSensor();

  while(distancia>=40&&S1==HIGH&&S2==HIGH&&S3==HIGH&&S4==HIGH){
    if(distanciaDer<=40){
      derecha1();
      delay(600);
      ultrasonico();
      ultrasonicoDer();
      ultrasonicoIzq();
      leerSensor();
      }else{
        izquierda1()
        delay(200);
        ultrasonico();
        ultrasonicoDer();
        ultrasonicoIzq();
        leerSensor();
      }
    }
  void izquierda1(){
    analogWrite(MOTIaPin,255);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(50);
  }
   void derecha1(){
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,255);
    analogWrite(MOTDbPin,0);
    delay(50);
  }
 void contrataque(){
  for(i=0;i<7;i++){
    //adelante
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(100);
    //parar
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,0);
    delay(50);
    //izquierda
    analogWrite(MOTIaPin,255);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(100);
    //derecha
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,255);
    analogWrite(MOTDbPin,0);
    delay(100);
    
    }
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(50);
    }

    void adelante(){
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(50);
    }

    void parar(){
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,0);
    delay(50);
    }

    void retroceder(){
    analogWrite(MOTIaPin,255);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,255);
    analogWrite(MOTDbPin,0);
    delay(50);
    }

    void loop(){
    localizacion();
    delay(50);
    adelante();
    leerSensor();
    if(distancia<=30&&S1==LOW&&S2==LOW){
      retroceder();
      delay(100);
    }
    ////////EN CASO DE ATACAR Y ENCONTRAR LIMITE BLANCO/////
    leerSensor();
    if(didstancia<=30&&S1==LOW){
      if(S2==LOW){
        retroceder();
        delay(650);
      }
      retroceder();
      delay(650);
    }
    if(distancia<=30&&S2==LOW){
      if(S1==LOW){
        retrocceder();
        delay(650);
      }
      retroceder();
      delay(650);
    }
    leerSensor();
    if(distancia<=30&&S3==LOW){
      if(S4==LOW){
        contrataque();
        delay(150);
    }
    leerSensor();
    if(distancia<=30&&S4==LOW){
      if(S3==LOW){
        contrataque();
        delay(50);
      }
      contrataque();
      delay(100);
    } 
    }

Error

Robosumofinal:66:3: error: ‘buttonState’ does not name a type

buttonState = digitalRead(button_Pin);

^

Robosumofinal:67:3: error: expected declaration before ‘}’ token

}

^

exit status 1
‘buttonState’ does not name a type

Tienes muchos errores,

Te faltaba cerrar la llave en esta rutina

void localizacion(){
  ultrasonico();
  ultrasonicoDer();
  ultrasonicoOzq();
  leerSensor();

  while (distancia>=40&&S1==HIGH&&S2==HIGH&&S3==HIGH&&S4==HIGH) {
          if (distanciaDer<=40){
             derecha1();
             delay(600);
             ultrasonico();
             ultrasonicoDer();
             ultrasonicoIzq();
             leerSensor();
          } 
          else {
              izquierda1()
              delay(200);
              ultrasonico();
              ultrasonicoDer();
              ultrasonicoIzq();
              leerSensor();
            }
  }
}

hay que ser ordenado y comenzar y cerrar cada funcion/rutina comenzando a la izquiera e ir identando conforme vas creando if while for etc

Tu máximo problema entre otros problemas es este

void setup(){
  Serial.begin(9600);
  pinMode(echoPin,INPUT);
  pinMode(trigPin,OUTPUT);
  pinMode(echoDer,INPUT);
  pinMode(trigDer,OUTPUT); 
  pinMode(echoIzq,INPUT);
  pinMode(trigIzq,OUTPUT);
  pinMode(S1Pin,INPUT);
  pinMode(S2Pin,INPUT);
  pinMode(S3Pin,INPUT);
  pinMode(S4Pin,INPUT);
  pinMode(MOTDaPin,OUTPUT);
  pinMode(MOTDbPin,OUTPUT);
  pinMode(MOTIaPin,OUTPUT);
  pinMode(MOTIbPin,OUTPUT);
  pinMode(LED,OUTPUT);
  pinMode(button_Pin,INPUT);
  parar();{
}
// <===== ATENCION
// ACA FALTA ALGO un llamado a una función o rutina
// <===== ATENCION

  buttonState = digitalRead(button_Pin);
  while(buttonState==LOW){ 
  parar ();  
  }  // <== ERROR cierras con una llave que nunca se abrio

  }
  buttonState = digitalRead(button_Pin);
  }
  {  
    digitalWrite(LED,HIGH);
    digitalWrite(LED,LOW);
}

Inifinidad de errores simples que con cuidado deberías haber podido encontrar.
Entiendo que no te hayan enseñado a programar y estudies Ingeniería Mecánica pero esto es un ejemplo de lo que te pasará toda la vida como Ingeniero. siempre tendras cosas nuevas para aprender. No debes bajar los brazos.

La mayoría errores de escritura ej

didistancia donde debería decir distancia

UltrasonicoOzq cuando debería decir UltrasonicoIzq

y asi muchos mas.

Estos errores no requieren comprensión de programación, solo ponerle un poco de tu tiempo.

Aca tienes la versión corregida.

La falla con buttonState yo la hice a mi gusto pero estúdiala porque no creo que sea lo que buscas.

Esto compila sin errores.

long distancia    = 50;
long distanciaDer = 50;
long distanciaIzq = 50;
long tiempo;
long tiempoDer;
long tiempoIzq;

const byte echoPin       = 8;
const byte trigPin       = 9;

const byte echoDer       = A0;
const byte trigDer       = A1;
const byte echoIzq       = A2;
const byte trigIzq       = A3;

const byte S1Pin         = 2; // cuadrante 1
const byte S2Pin         = 3; // cuadrante 2
const byte S3Pin         = 4; // cuadrante 3
const byte S4Pin         = 7; // cuadrante 4

int S1=0;
int S2=0;
int S3=0;
int S4=0;

const byte MOTDaPin      = 10;
const byte MOTDbPin      = 11;
const byte MOTIaPin      = 6;
const byte MOTIbPin      = 5;

//#include "buttonState"
const byte button_Pin    = 12;
int i=0;
const byte LED           = 13;
int buttonState = 0;

void setup(){
  Serial.begin(9600);
  pinMode(echoPin,INPUT);
  pinMode(trigPin,OUTPUT);
  pinMode(echoDer,INPUT);
  pinMode(trigDer,OUTPUT); 
  pinMode(echoIzq,INPUT);
  pinMode(trigIzq,OUTPUT);
  pinMode(S1Pin,INPUT);
  pinMode(S2Pin,INPUT);
  pinMode(S3Pin,INPUT);
  pinMode(S4Pin,INPUT);
  pinMode(MOTDaPin,OUTPUT);
  pinMode(MOTDbPin,OUTPUT);
  pinMode(MOTIaPin,OUTPUT);
  pinMode(MOTIbPin,OUTPUT);
  pinMode(LED,OUTPUT);
  pinMode(button_Pin,INPUT);
  parar();

  buttonState = digitalRead(button_Pin);
  while (buttonState==LOW){ 
         parar ();  
  }
  
  buttonState = digitalRead(button_Pin);
  digitalWrite(LED,HIGH);
  digitalWrite(LED,LOW);
}

void loop() {
    localizacion();
    delay(50);
    adelante();
    leerSensor();
    if (distancia<=30&&S1==LOW&&S2==LOW){
        retroceder();
        delay(100);
    }
    ////////EN CASO DE ATACAR Y ENCONTRAR LIMITE BLANCO/////
    leerSensor();
    if (distancia<=30&&S1==LOW){  // didstancia distancia mal escrito
        if (S2==LOW) {
            retroceder();
            delay(650);
      }
      retroceder();
      delay(650);
    }
    leerSensor();
    if (distancia<=30&&S2==LOW){
        if (S1==LOW){
            retroceder();
            delay(650);
        }
        retroceder();
        delay(650);
    }
    leerSensor();
    if (distancia<=30&&S3==LOW) {
        if (S4==LOW){
            contrataque();
            delay(150);
        }
    }
    leerSensor();
    if (distancia<=30&&S4==LOW) {
        if (S3==LOW){
            contrataque();
            delay(50);
        }
        contrataque();
        delay(100);
    }  
}

void ultrasonico(){
  digitalWrite(trigPin,LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin,HIGH);
  delayMicroseconds(10);
  tiempo    = pulseIn(echoPin,HIGH);
  distancia = int(0.017*tiempo);  
}

void ultrasonicoDer(){
  digitalWrite(trigDer,LOW);
  delayMicroseconds(5);
  digitalWrite(trigDer,HIGH);
  delayMicroseconds(10);
  tiempoDer    = pulseIn(echoDer,HIGH);
  distanciaDer = int(0.017*tiempoDer);  
}

void ultrasonicoIzq(){
  digitalWrite(trigIzq,LOW);
  delayMicroseconds(5);
  digitalWrite(trigIzq,HIGH);
  delayMicroseconds(10);
  tiempoIzq    = pulseIn(echoIzq,HIGH);
  distanciaIzq = int(0.017*tiempoIzq);  
}

void leerSensor(){
  S1 = digitalRead(S1Pin);
  S2 = digitalRead(S2Pin);
  S3 = digitalRead(S3Pin);
  S4 = digitalRead(S4Pin);    
}

void localizacion(){
  ultrasonico();
  ultrasonicoDer();
  ultrasonicoIzq();
  leerSensor();

  while (distancia>=40&&S1==HIGH&&S2==HIGH&&S3==HIGH&&S4==HIGH) {
          if (distanciaDer<=40){
             derecha1();
             delay(600);
             ultrasonico();
             ultrasonicoDer();
             ultrasonicoIzq();
             leerSensor();
          } 
          else {
              izquierda1(); // faltaba ;
              delay(200);
              ultrasonico();
              ultrasonicoDer();
              ultrasonicoIzq();
              leerSensor();
            }
  }
}

void izquierda1(){
    analogWrite(MOTIaPin,255);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,0);
    analogWrite(MOTDbPin,255);
    delay(50);
}

void derecha1(){
    analogWrite(MOTIaPin,0);
    analogWrite(MOTIbPin,255);
    analogWrite(MOTDaPin,255);
    analogWrite(MOTDbPin,0);
    delay(50);
}

void contrataque() {
  
  for (i=0;i<7;i++){
      //adelante
      analogWrite(MOTIaPin,0);
      analogWrite(MOTIbPin,255);
      analogWrite(MOTDaPin,0);
      analogWrite(MOTDbPin,255);
      delay(100);
      //parar
      analogWrite(MOTIaPin,0);
      analogWrite(MOTIbPin,0);
      analogWrite(MOTDaPin,0);
      analogWrite(MOTDbPin,0);
      delay(50);
      //izquierda
      analogWrite(MOTIaPin,255);
      analogWrite(MOTIbPin,0);
      analogWrite(MOTDaPin,0);
      analogWrite(MOTDbPin,255);
      delay(100);
      //derecha
      analogWrite(MOTIaPin,0);
      analogWrite(MOTIbPin,255);
      analogWrite(MOTDaPin,255);
      analogWrite(MOTDbPin,0);
      delay(100);
    
  }
  analogWrite(MOTIaPin,0);
  analogWrite(MOTIbPin,255);
  analogWrite(MOTDaPin,0);
  analogWrite(MOTDbPin,255);
  delay(50);
}

void adelante(){
  analogWrite(MOTIaPin,0);
  analogWrite(MOTIbPin,255);
  analogWrite(MOTDaPin,0);
  analogWrite(MOTDbPin,255);
  delay(50);
}

void parar(){
  analogWrite(MOTIaPin,0);
  analogWrite(MOTIbPin,0);
  analogWrite(MOTDaPin,0);
  analogWrite(MOTDbPin,0);
  delay(50);
}

void retroceder(){
    analogWrite(MOTIaPin,255);
    analogWrite(MOTIbPin,0);
    analogWrite(MOTDaPin,255);
    analogWrite(MOTDbPin,0);
    delay(50);
}

Muchas gracias! Yo sé que eran errores bobos para quién conoce, pero a mi me hacia muy dificil. Así que entregue ese proyecto, voy a seguir estudiando porque en verdad me gusto, y la puedo utilizar en muchas areas de mi vida profesional.

Te agradezgo infinitamente!!!!!!!!

Claro que si.. y me da gusto que asi lo hagas.

En la sección documentación hay buenos libros y tutoriales y ya sabes, Google es la puerta para entontrar tus límites y llevarlos cada vez mas lejos.