Para lo que comentas no necesitas instrucciones.
Veamos no es algo "prioritario" que se active o desactive apenas detecta la puerta, sino que puede demorar 1 segundo. TU programa en pseudocodigo quedaria asi:
Loop:
Delay de 1s ( este delay es para todo, te sirve de antirebote, para el led, etc )
Puerta abierta?
NO-> Ir a descontar tiempo
SI -> Cargo el contador con el valor 180 (que espere nuevamente los 3 minutos), enciendo y apago el led segun como este, Voy a Loop
Descontar tiempo:
Restar 1, al registro contador que posee los segundos a esperar ( 3minutos = 180 segundos )
Contador = 0?
SI -> Apago motor, Voy a Loop
NO -> Voy a Loop
PD: Para el sensor de la puerta, buscate esos swith magneticos que se ponen con las alarmas como estos:
Que adentro uno tiene el iman ( el que va en la puerta ) y el otro el micro swtich magnetico este que va en el marco: