Ho modificato con il millis() e work fine, per ora me lo faccio andare bene.
if (Fotocellula_1 == 0)
{
if(millis() - milli_precedente > intervallo)
{
++contatore;
if(contatore == 999) contatore = 0;
Riempi();
while(Fotocellula_1 == 1)
{
Fotocellula_1 = digitalRead(in_NPN);
}
}
}