Buenas tardes,
Soy novato y tengo un pequeño problema con el siguiente código que posteo a continuación. El caso es que cuando se me ejecuta la función BEEP el contador deja de contar (valga la redundancia) y no vuelve a seguir contando hasta que termina esa función. Lo que quiero es que continúe contando a pesar de que esté sonando el buzzer. He probado distintas combinaciones y no doy con el resultado exacto.
Agradezco una mano.
Es un andruino UNO.
	
	
	
		
				
			Soy novato y tengo un pequeño problema con el siguiente código que posteo a continuación. El caso es que cuando se me ejecuta la función BEEP el contador deja de contar (valga la redundancia) y no vuelve a seguir contando hasta que termina esa función. Lo que quiero es que continúe contando a pesar de que esté sonando el buzzer. He probado distintas combinaciones y no doy con el resultado exacto.
Agradezco una mano.
Es un andruino UNO.
		Código:
	
	#include <LiquidCrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
int contador = 0;
int pinsensor = 8;
int pinbuzzer = 9;
int lectura;
void setup() 
{
  pinMode(pinsensor, INPUT);
  pinMode(pinbuzzer, OUTPUT);
  
  lcd.begin(16,2);
  lcd.setCursor(4,0);
  lcd.print("SACHETS");
  lcd.setCursor(0,1);
  lcd.print("Contador : 0");
}
void loop() 
{ 
  lectura = digitalRead(pinsensor);
  if (lectura != 1)
  {
    contador = contador + 1;
    lcd.setCursor(11,1);
    lcd.print("     ");
    lcd.setCursor(11,1);
    lcd.print(contador);
    if (contador == 10)
    { 
     beep(500);
    }
    
    while(digitalRead(pinsensor) != 1)
    {}
  }
}
void beep(unsigned char delayms){
  
  
  for (int i=0; i<20; i++){
  analogWrite(9, 254);      
  delay(delayms);          
  analogWrite(9, LOW);       
  delay(delayms); 
  }
  analogWrite(9, 254);           
} 
   
				 
						 
 
		 
 
		 
 
		 
 
		 
 
		