Millis() retardo

Hola, sucede lo siguiente. Estoy tratando de encender 5 luces por medio de un sensor, las cuales deben desvanecerse durante 10 segundos (por lo que se debe emplear PWM). Y como cada una se prende en tipos diferentes, también se necesita de la función millis(). Ahora bien, lo que pasa es que no puedo integrar los códigos. En el siguiente ejemplo se enciende el LED, pero deben haber dos condiciones para que se apague, que hayan pasado el tiempo y que el sensor vuelva a actuar, y lo que quiero es que sólo dependa del tiempo para si apagado.

Unsigned long t;
Int entrada_infrarroja=2;
Int led=3;
Int contador;
Void setup (){

Serial.beguin(9600);
PinMode(entrada_infrartoja, input);
Pinmode(led3,output)
}
void loop (){
int valor_entrada=digutalwrite(entrada_infrarroja);
If (valor entrada=0){
Contador++;
While(valor estrada==0){
Valor estrada=digutalread(entrada infrarroja);
}
}
IF (contador=3){
Digutalwrite(3,1);
T=millis();
}
Else {
If (millis()-t>5000){
Digitalwrite(3,0);
}
}
SERIAL.print(millis()/1000);
Serial.println(contador)

Ese es el código que tengo. Me excuso por los errores de sintaxis, lo hice desde el celular. Les agradezco si me pueden ayudar.

Void setupOopsn

Español?

femmeverbeek:
Español?

It’s already there

Uy