project examination, car controlled with application

Hi all, I have a problem with my draft exam ... first it involves the construction of a machine controlled by an android app, created by me with App Inventor. The machine was working fine until I added the part program for parking sensor that will mount .... now performs slowly, so retarded and confusing ... can anyone tell me why? Thank you.
this is the skech:

#include <LiquidCrystal.h> 
LiquidCrystal lcd(28,30,32,34,36,38); 
//Connessioni L293 
  const int motorP1  = 5;  
  const int motorP2  = 6;  
  const int motorA1  = 10; 
  const int motorA2  = 9;  

  const int lucipost = 12;
  const int luciant = 13;

  const int buzzer = 3 ; 
  int trigger=24,echo=26,led=22;  
  long tempo=0,velocita,distanza=0; 
  int state; 
  int vSpeed=200;     

void setup() 
{ 

    pinMode(motorP1, OUTPUT);
    pinMode(motorP2, OUTPUT);
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(lucipost, OUTPUT); 
    pinMode(luciant, OUTPUT); 
    pinMode(echo,INPUT); 
    pinMode(trigger,OUTPUT);
    digitalWrite(trigger,LOW); 
    pinMode(buzzer,OUTPUT); 
    pinMode(led,OUTPUT);   
    lcd.begin(16,2); 
    Serial.begin(9600);    
    lcd.setCursor(0,0);   
    lcd.print("Distanza"); 
    lcd.setCursor(0,1);   
    lcd.print("Misurata:  "); 
}
 
void loop() {
       // istruzioni sensore di parcheggio
     if(distanza<10000)     
   {
     lcd.setCursor(12,1); 
     lcd.print("    ");   
     lcd.setCursor(14,1); 
     lcd.print("cm");     
   }
   else  if(distanza<1000)  
     {
       lcd.setCursor(12,1); 
       lcd.print("    ");   
       lcd.setCursor(14,1); 
       lcd.print("cm");     
     }
     else if(distanza<100) 
      {
        lcd.setCursor(12,1);  // posizionati colonna,riga
        lcd.print("    ");    // visualizza sul display "    "
        lcd.setCursor(13,1);  // posizionati colonna,riga
        lcd.print("cm");      // visualizza sul display "cm"
      }
       else  if(distanza<10)  //altrimenti se la distanza è minore di 10
         {
           lcd.setCursor(12,1);  // posizionati colonna,riga
           lcd.print("   ");     // visualizza sul display "    "
           lcd.setCursor(12,1);  // posizionati colonna,riga
           lcd.print("cm");      // visualizza sul display "cm"
         }         
   if(tempo<38000)       // se il tempo è minore di 38000
   {
   lcd.setCursor(0,1);    // posizionati colonna,riga
   lcd.print("Misurata:"); // visualizza sul display "Misurata:"
   lcd.setCursor(11,1);   // posizionati colonna,riga
   lcd.print(distanza);  // visualizza sul display la distanza misurata(durata del impulso equivale ad una distanza)    
   }
   else
   {
     lcd.setCursor(0,1);   // posizionati colonna,riga
     lcd.print("  ");      // visualizza sul display "  "
     lcd.setCursor(1,1);   // posizionati colonna,riga
     lcd.print("Fuori Portata  "); // visualizza sul display "Fuori Portata  "
     delay(1000); // ritardo di 1000 millisecondi = 1 secondo
   }
  digitalWrite(trigger,HIGH); // porta il trigger allo stato alto(invio un impulso)
  delayMicroseconds(10);      // durata impulso 10uS microsecondi
  digitalWrite(trigger,LOW);  // porta il trigger allo stato basso
  tempo=pulseIn(echo,HIGH);   // ricevi l'impulso del trigger 
  velocita=(tempo*0.034)/2;   // la velocita è uguale al tempo(il tempo del impulso a tornare indietro)*la temperatura/2(diviso 2 è l'impulso che fa 2 volte lo stesso traggito cioe una volta viene inviato e una volta viene ricevuto) 
  distanza=tempo/58;   // la distanza è il tempo/58
   if(velocita>3&&velocita<=25)    // se la velocità è > di 3 e valocità <= 200
    {
      digitalWrite(led,HIGH);      // porta il led verde allo stato alto (led verde acceso)
      delay(velocita*10);            // ritardo è uguale alla velocita del impulso * 10
      digitalWrite(buzzer,HIGH);     // porta il buzzer allo stato alto (buzzer acceso)
      delay(velocita*10);            // ritardo è uguale alla velocita del impulso * 10
    }
      if(velocita<=3)
      {
        digitalWrite(led,HIGH);     // porta il led allo stato alto 
        digitalWrite(buzzer,HIGH);    // porta il buzzer allo stato alto (buzzer suona)
        delay(1000);                  // ritardo di 1000 millisecondi = 1 secondo
      }
      digitalWrite(led,LOW);         // porta il led allo stato basso
      digitalWrite(buzzer,LOW);        // porta il buzzer allo stato basso (buzzer spento)
      delay(10);                       // ritardo di 10 millisecondi = 0.1 secondi
       
  // se ricevi dei dati salvali inella variabile state
    if(Serial.available() > 0){  
    state = Serial.read();   
    }
  // cambia velocità se la variabile state ha un valore compreso tra 0 e 4. Il valore della velocità potrà essere da 0 a 255 (PWM)
    if (state == '0'){
      vSpeed=0;
    }
    else if (state == '1'){
      vSpeed=100;
    }
    else if (state == '2'){
      vSpeed=180;
    }
    else if (state == '3'){
      vSpeed=200;
    }
    else if (state == '4'){
      vSpeed=255;
    }
  
 // istruzioni avanti
  // se la variabile state conterrà la lettera 'F', la macchina andrà avanti
    if (state == 'F') {
     analogWrite(motorP1, vSpeed); analogWrite(motorP2, 0);
        analogWrite(motorA1, 0);      analogWrite(motorA2, 0); 
    }
// istruzioni avanti-sinistra
  // se la variabile state conterrà la lettera 'G', la macchina andrà avanti-sinistra
    else if (state == 'G') {
     analogWrite(motorP1, vSpeed); analogWrite(motorP2, 0);  
        analogWrite(motorA1, 200);    analogWrite(motorA2, 0); 
    }
 // istruzioni avanti-destra
  // se la variabile state conterrà la lettera 'I', la macchina andrà avanti-destra
    else if (state == 'I') {
       analogWrite(motorP1, vSpeed); analogWrite(motorP2, 0); 
        analogWrite(motorA1, 0);      analogWrite(motorA2, 200); 
    }
 // istruzioni indietro
  // se la variabile state conterrà la lettera 'B', la macchina andrà indietro
    else if (state == 'B') {
     analogWrite(motorP1, 0);   analogWrite(motorP2, vSpeed); 
        analogWrite(motorA1, 0);   analogWrite(motorA2, 0); 
        }
 // istruzioni indietro-sinistra 
  // se la variabile state conterrà la lettera 'H', la macchina andrà indietro-sinistra
    else if (state == 'H') {
     analogWrite(motorP1, 0);   analogWrite(motorP2, vSpeed); 
        analogWrite(motorA1, 200); analogWrite(motorA2, 0); 
}
 // istruzioni indietro-destra 
  // se la variabile state conterrà la lettera 'J', la macchina andrà indietro-destra
    else if (state == 'J') {
     analogWrite(motorP1, 0);   analogWrite(motorP2, vSpeed); 
        analogWrite(motorA1, 0);   analogWrite(motorA2, 200); 
    }
// istruzioni sinistra
  // se la variabile state conterrà la lettera 'L', le ruote anteriori gireranno a sinistra
    else if (state == 'L') {
     analogWrite(motorP1, 0);   analogWrite(motorP2, 0); 
        analogWrite(motorA1, 200); analogWrite(motorA2, 0); 
    }
 // istruzioni destra
  // se la variabile state conterrà la lettera 'R', le ruote anteriori gireranno a destra
    else if (state == 'R') {
     analogWrite(motorP1, 0);   analogWrite(motorP2, 0); 
        analogWrite(motorA1, 0);   analogWrite(motorA2, 200); 
    }

 // istruzioni luci anteriori
  // se la variabile conterrà la lettera 'W'/ 'w', si accenderranno/spegneranno le luci anteriori
    else if (state == 'W') {
        digitalWrite(luciant, HIGH); 
         }
      else if (state== 'w'){
         digitalWrite(luciant, LOW); 
          }
// istruzioni luci posteriori
  // se la variabile conterrà la lettera 'U'/ 'u', si accenderranno/spegneranno le luci posteriori
    else if (state == 'U') {
        digitalWrite(lucipost, HIGH); 
         }
      else if (state== 'u'){
         digitalWrite(lucipost, LOW); 
          }
  
// istruzioni buzzer
  // se la variabile state conterrà la lettera 'V'/ 'v' il buzzer emetterà/non emetterà un suono
    else if (state == 'V'){
       tone(buzzer, 1000);
        }
      else if (state == 'v'){
         noTone(buzzer); 
      }
  
// istruzioni stop
  // se la variabile state conterrà la lettera 'S', la macchina si stopperà
    else if (state == 'S'){
        analogWrite(motorP1, 0);  analogWrite(motorP2, 0); 
        analogWrite(motorA1, 0);  analogWrite(motorA2, 0);
    }
 
      


 }

Maybe something to do with "delay()" or "pulseIn()"?

I do not know...

You're the one with the hardware in front of you - why don't you have a look what your debug prints tell you?