comando corretto per pulire la seriale su arduino uno ide 101

ho aggiunto la riga all'inizio e alla fine de loop e messa ache in altri 2 posti
4 voltein totoale

ma se apro il serial monitor e scrivo numeri e faccio invio questi passano lo stesso

[codelong vet[6] = {
  -2, -2, -2, -2, -2,  -2 }; 

byte segnale=1;  
long cont = 0;
long x = 0;
char a;


void setup()
{
  pinMode (11, INPUT);
  pinMode (12, OUTPUT);  
  pinMode (13, OUTPUT);

  digitalWrite (13, HIGH);
 Serial.begin(9600);
}

void loop()
{



 while (Serial.available() > 0) a=Serial.read();

  if ( digitalRead (11)==LOW) segnale=1,  digitalWrite (13, HIGH); 


  
 if (segnale == 1  && digitalRead (11)==HIGH)

    while (Serial.available() > 0)
   {
      vet[cont] = Serial.read()-48; 
      cont++;
      delay(60);

    }



  if(cont > 0)
  {
    cont = 0;


    if (vet[5] ==  -2  && vet[4] ==  -2  && vet[3] ==  -2  && vet[2] ==  -2  && vet[1] ==  -2 ) 

    {                                                                      
        x = vet[0];                                                         
    }
    else

        if (vet[5] ==  -2  && vet[4] ==  -2  && vet[3] ==  -2  && vet[2] ==  -2 ) //  
      {
        x = (vet[0]* 10 +   vet[1]    );
      }
      else
        if  ( vet[5] ==  -2  && vet[4] ==  -2  && vet[3] ==  -2 ) //
        {
          x = (vet[0] * 100 + vet[1]* 10+ vet[2]);
        } 
        else
          if  (vet[5] ==  -2  && vet[4] ==  -2  )
          {
            x = (vet[0] * 1000 + vet[1] * 100 + vet[2]* 10 + vet[3]);  
          } 
          else
            if  (vet[5] ==  -2   )
            {
              x = (vet[0] * 10000 + vet[1] * 1000 + vet[2]* 100 + vet[3]* 10 + vet[4]);  

            } 


 while (Serial.available() > 0) a=Serial.read();
            Serial.println(x);

 
 while (Serial.available() > 0) a=Serial.read();
  }
  while (Serial.available() > 0) a=Serial.read();
}
]