Sensor de barrera laser

hola, queria ver si podrian ayudarme con la progrmacion de un sensor de barrera laser en una pantalla lcd 16x2. Lo que quiero que realize es que cuente hasta 9 y a los 10 objetos detectados realice una accion en este caso que encienda un actuador con un arreglo de relays , sin embargo se brinca el ciclo y realiza la accion antes de tiempo, tengo tiempo intentandolo y no realiza lo que necesito. Aqui esta la programacion.

/*
  ESTE SISTEMA UN DISPOSITIVO DE BARRERA LASER CAPAZ CON SENSADO QUE PERMITE LA DETECCION DE OBJETOS MEDIANTE UNA INTERFERENCIA Y QUE SON IMPRESOS EN UNA PANTALLA LCD 16X2
 */
 
// incluir libreria
#include <LiquidCrystal.h>

//Declaramos las variables necesarias
int numero=0;
int auxnumero=0;
int sensorPinLDR = A0;
int valorLDR = 0;
int actuador=0;

   


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Declaramos los pines que usa nuestra pantalla(RS,E,D4,D5,D6,D7)

void setup() {
  pinMode (7, OUTPUT);
  pinMode (8, OUTPUT);
  lcd.begin(16, 2);//Iniciamos la pantalla y le decimos el numero de caracteres y filas
  lcd.setCursor (1,0);
  lcd.print ("SENSOR DE  ");
  delay (3000);
  lcd.setCursor (5,1);
  lcd.print ("BARRERA ");
  delay(3000);
  lcd.clear ();
  lcd.setCursor (6,1);
  lcd.print ("FIME");
  delay (3000);
  
  lcd. setCursor (6,1);
  lcd.print ("ISET");
  delay (3000);
  lcd. clear();
  lcd.setCursor(4, 0);//Situamos el lugar donde empezar la escritura
  lcd.print("PROYECTO");//Escribimos "PROYECTO" para que el sistema lo imprime y lo muestre en lcd 
  delay (2000);//Esperamos dos segundos
  lcd.clear();//Limpiamos la pantalla
  lcd.setCursor(1, 0);// acomodamos el cursor de caracteres en 0,0 para que empieze desde ese punto 
  lcd.print("APLASTADOR DE");// Imprimimos una segunada vez para que apararezca "APLASTADOR DE" 
  delay (2000);// Retardo dos segundos 
  lcd.setCursor(5, 1);
  lcd.print("LATAS");// Imprimimos aplastador 
  delay (2000);
  lcd.clear();
  lcd.setCursor(2, 0);
  lcd.print("CONTADOR DE");
  delay (2000);
  lcd.setCursor(5, 1);
  lcd.print("LATAS ");
  delay (3000);
  lcd.clear();
  
  
}

void loop() {{
  
  valorLDR = analogRead(sensorPinLDR);// Leemos el valor de la LDR y lo guardamos en valorLDR
  lcd.setCursor(0, 0);//Situamos el lugar donde escribiremos
  lcd.print("CONTADOR");//Escribimos contador
  lcd.setCursor(10, 1);//Situamos el lugar donde escribiremos
  lcd.print(numero);//Representamos la variable numero
  
  auxnumero=0;//hacemos la variable auxnumero 0. Esta variable nos ayuda a contar solo 1 cada vez que entremos en el bucle de más abajo
  
  while(valorLDR<=150){//Entramos en el bucle si valorLDR es menor de 600. Esto ocurre cuando no da el laser sobre la LDR.
    valorLDR = analogRead(sensorPinLDR);// Leemos el valor de la LDR y lo guardamos en valorLDR
    if(auxnumero==0){// Entramos en el if si auxnumero es 0. Esto solo ocurre la primera vez que recorremos el while.
    numero++;//Sumamos 1 a la variable numero
    auxnumero=1;//hacemos auxnumero 1, para que solo sume una vez 1 a la variable numero cuando estamos dando vueltas dentro del bucle.
    
   
   
  if   (auxnumero>=1 && auxnumero<=9 );
    
     lcd.clear();
    lcd. setCursor (0,0);
    lcd.print ( "APLASTANDO...");
    delay (5000);
    lcd.clear();

 if    (auxnumero==10);
  
 
   lcd.setCursor(2.5,0);
   lcd.print("FELICIDADES");
   delay(3000);
   lcd.setCursor(4,1);
   lcd.print("GANASTE");
   delay(2000);
   lcd.clear();
  
    digitalWrite (7,HIGH);
    delay(100);
    digitalWrite (7,LOW);
    digitalWrite (8,HIGH);
    delay(400);
    digitalWrite (8,LOW);
    delay(3000);
    lcd.setCursor (3,0);
   lcd.print("RECOGE TU");
   delay(2000);
   lcd.setCursor (4,1);
   lcd.print("PREMIO");
   delay (3000);
   lcd.clear();
}
}
}
}

progrmacion_SENSOR_DE_BARRERA_LASER_CON_APLASTADOR.ino (3.26 KB)