Codice poco reattivo?

Ciao a tutti,
attraverso un Arduino Mini, vorrei sfruttare la lettura degli ingressi analogici (AD0, AD1, AD2, AD3) collegati rispettivamente a 4 trimmer: in base al numero restituito (da 0 a 2013) i 4 led RGB dovrano, essere spenti, lampeggiare, restare fissi o cambiare colore.
il codice seguente funziona, l’unico difetto è la reattivita’: giro il trimmer ma per vedere l’effettivo cambiamento ci vuole qualche istante.
Come posso migliorare questo gap??

Qui potete trovare lo schemino elettrico:

Un grazie a chi mi da una mano!

int red1=2;
int red2=5;
int red3=8;
int red4=11;

int blue1 = 3;
int blue2 = 6;
int blue3 = 9;
int blue4 = 12;

int green1 = 4;
int green2 = 7;
int green3 = 10;
int green4 = 13;

void setup () {
Serial.begin(9600);  
 
    pinMode (blue1, OUTPUT);
    pinMode (blue2, OUTPUT);
    pinMode (blue3, OUTPUT); 
    pinMode (blue4, OUTPUT);

    pinMode (green1, OUTPUT);
    pinMode (green2, OUTPUT);
    pinMode (green3, OUTPUT); 
    pinMode (green4, OUTPUT);

    pinMode (red1, OUTPUT);
    pinMode (red2, OUTPUT);
    pinMode (red3, OUTPUT); 
    pinMode (red4, OUTPUT);
}

void loop () {

int AD0 = analogRead(A0); 
int AD1 = analogRead(A1); 
int AD2 = analogRead(A2); 
int AD3 = analogRead(A3);  
  
   Serial.println("AD0");
   Serial.println(AD0);
   delay(500);
   Serial.println("AD1");
   Serial.println(AD1);
   delay(500);
   Serial.println("AD2");
   Serial.println(AD2);
   delay(500);
   Serial.println("AD3");
   Serial.println(AD3);
   delay(500);
   
 //------------------------------------------

if ((AD0 > 0) && (AD0 < 307)) {  
  digitalWrite(green1, LOW);
  digitalWrite(red1, LOW);
  digitalWrite(blue1, LOW);  }                                       
      if   ((AD1 > 0) && (AD1 < 307)) {  
      digitalWrite(green2, LOW);
      digitalWrite(red2, LOW);
      digitalWrite(blue2, LOW);   }                                                        
            if   ((AD2 > 0) && (AD2 < 307)) {  
            digitalWrite(green3, LOW);
            digitalWrite(red3, LOW);
            digitalWrite(blue3, LOW); }          
                    if   ((AD3 > 0) && (AD3 < 307)) {  
                    digitalWrite(green4, LOW);
                    digitalWrite(red4, LOW);
                    digitalWrite(blue4, LOW);
                    delay(500);    }                          
//------------------------------------------
if ((AD0 > 307) && (AD0 < 409)) {  
  digitalWrite(green1, LOW);
  digitalWrite(red1, LOW);
  digitalWrite(blue1, HIGH);
  delay(500);               
  digitalWrite(blue1, LOW);
  digitalWrite(green1, LOW);
  digitalWrite(red1, LOW);
  delay(500);  }             
      if   ((AD1 > 307) && (AD1 < 409)) {  
      digitalWrite(green2, LOW);
      digitalWrite(red2, LOW);
      digitalWrite(blue2, HIGH);
      delay(500);               
      digitalWrite(blue2, LOW);
      digitalWrite(green2, LOW);
      digitalWrite(red2, LOW);
      delay(500); }              
            if   ((AD2 > 307) && (AD2 < 409)) {  
            digitalWrite(green3, LOW);
            digitalWrite(red3, LOW);
            digitalWrite(blue3, HIGH);
            delay(500);               
            digitalWrite(blue3, LOW);
            digitalWrite(green3, LOW);
            digitalWrite(red3, LOW);
            delay(500);   }             
                    if   ((AD3 > 307) && (AD3 < 409)) {  
                    digitalWrite(green4, LOW);
                    digitalWrite(red4, LOW);
                    digitalWrite(blue4, HIGH);
                    delay(500);               
                    digitalWrite(blue4, LOW);
                    digitalWrite(green4, LOW);
                    digitalWrite(red4, LOW);
                    delay(500);      }          
//------------------------------------------
if  ((AD0  > 410) && (AD0  < 511)){  
  digitalWrite(blue1, HIGH); 
  digitalWrite(green1, LOW); 
  digitalWrite(red1, LOW); }
      if   ((AD1  > 410) && (AD1  < 511)){  
      digitalWrite(blue2, HIGH); 
      digitalWrite(green2, LOW); 
      digitalWrite(red2, LOW); }
            if   ((AD2  > 410) && (AD2  < 511)){  
            digitalWrite(blue3, HIGH); 
            digitalWrite(green3, LOW); 
            digitalWrite(red3, LOW); }               
                  if   ((AD3  > 410) && (AD3  < 511)){  
                  digitalWrite(blue4, HIGH); 
                  digitalWrite(green4, LOW); 
                  digitalWrite(red4, LOW); }
//------------------------------------------
 if  ((AD0  > 512) && (AD0  < 614)){  
      digitalWrite(blue1, LOW); 
      digitalWrite(red1, LOW);
      digitalWrite(green1, HIGH); 
      delay(500);               
      digitalWrite(green1, LOW); 
      digitalWrite(blue1, LOW); 
      digitalWrite(red1, LOW);
      delay(500);}
            if  ((AD1  > 512) && (AD1  < 614)){  
            digitalWrite(blue2, LOW); 
            digitalWrite(red2, LOW);
            digitalWrite(green2, HIGH); 
            delay(500);               
            digitalWrite(green2, LOW); 
            digitalWrite(blue2, LOW); 
            digitalWrite(red2, LOW);
            delay(500);}
                  if  ((AD2  > 512) && (AD2  < 614)){  
                  digitalWrite(blue3, LOW); 
                  digitalWrite(red3, LOW);
                  digitalWrite(green3, HIGH); 
                  delay(500);               
                  digitalWrite(green3, LOW); 
                  digitalWrite(blue3, LOW); 
                  digitalWrite(red3, LOW);
                  delay(500);}
                    if  ((AD1  > 512) && (AD1  < 614)){  
                      digitalWrite(blue4, LOW); 
                      digitalWrite(red4, LOW);
                      digitalWrite(green4, HIGH); 
                      delay(500);               
                      digitalWrite(green4, LOW); 
                      digitalWrite(blue4, LOW); 
                      digitalWrite(red4, LOW);
                      delay(500);}
//------------------------------------------  
if  ((AD0  > 615) && (AD0  < 716)){  
    digitalWrite(green1, HIGH);
    digitalWrite(red1, LOW);   
    digitalWrite(blue1, LOW);   }    
      if  ((AD1  > 615) && (AD1  < 716)){  
      digitalWrite(green2, HIGH);
      digitalWrite(red2, LOW);   
      digitalWrite(blue2, LOW);  }               
            if  ((AD2  > 615) && (AD2  < 716)){  
            digitalWrite(green3, HIGH);
            digitalWrite(red3, LOW);   
            digitalWrite(blue3, LOW);   }                  
            if  ((AD3  > 615) && (AD3  < 716)){  
            digitalWrite(green4, HIGH);
            digitalWrite(red4, LOW);   
            digitalWrite(blue4, LOW);   }    
 //------------------------------------------                  
if  ((AD0  > 717) && (AD0  < 921)){            
     digitalWrite(blue1, LOW);
     digitalWrite(green1, LOW); 
     digitalWrite(red1, HIGH); 
     delay(500);               
     digitalWrite(red1, LOW);
     digitalWrite(blue1, LOW);
     digitalWrite(green1, LOW);
     delay(500);}
           if  ((AD1  > 717) && (AD1  < 921)){   
           digitalWrite(blue2, LOW);
           digitalWrite(green2, LOW); 
           digitalWrite(red2, HIGH); 
           delay(500);               
           digitalWrite(red2, LOW);
           digitalWrite(blue2, LOW);
           digitalWrite(green2, LOW);
           delay(500);}
               if  ((AD2  > 717) && (AD2  < 921)){   
               digitalWrite(blue3, LOW);
               digitalWrite(green3, LOW); 
               digitalWrite(red3, HIGH); 
               delay(500);               
               digitalWrite(red3, LOW);
               digitalWrite(blue3, LOW);
               digitalWrite(green3, LOW);
               delay(500);}
                   if  ((AD3 > 717) && (AD3  < 921)){   
                   digitalWrite(blue4, LOW);
                   digitalWrite(green4, LOW); 
                   digitalWrite(red4, HIGH); 
                   delay(500);               
                   digitalWrite(red4, LOW);
                   digitalWrite(blue4, LOW);
                   digitalWrite(green4, LOW);
                   delay(500);}
  //------------------------------------------        
if  ((AD0  > 922) && (AD0  < 1024)){  
     digitalWrite(red1, HIGH); 
     digitalWrite(green1, LOW);   
     digitalWrite(blue1, LOW);  }
         if  ((AD1  > 922) && (AD1  < 1024)){  
         digitalWrite(red2, HIGH); 
         digitalWrite(green2, LOW);   
         digitalWrite(blue2, LOW);}
           if  ((AD2  > 922) && (AD2  < 1024)){  
           digitalWrite(red3, HIGH); 
           digitalWrite(green3, LOW);   
           digitalWrite(blue3, LOW);}
               if  ((AD3  > 922) && (AD3  < 1024)){  
               digitalWrite(red4, HIGH); 
               digitalWrite(green4, LOW);   
               digitalWrite(blue4, LOW);}





}

}

Ricevuto!
tolto serialprint e tutto piu’ reattivo! Poi studiero’ anch’io millis() .

Grazie