Consulta programa: activar salida demorada

Quisiera saber si es posible hacer que una salida digital se active por un tiempo determinado, siempre respetando el tiempo, indistintamente del resto del programa.
Quiero decir algo así como, al recibir una señal en A1, D10 sea HIGH por 4 segundos y luego de ese tiempo pase a LOW, aun si A1 sigue recibiendo señal..........

Normas del foro

Mira Blink.ino basado en delay o
mira BlinkWithoutDelay.ino basado en millis().