int memoria=0;
void setup(){
DDRB=B00111111;//asigno pines 8-13 salidas
DDRD=B11100000;//asigno pines 0-4 como entradas, 5-7 salidas
}
void loop (){
if(digitalRead(4)==LOW && memoria==0 && digitalRead(8)==LOW){
delay(3000);
digitalWrite(8,HIGH);
}
if(digitalRead(4==HIGH)){//cerrar la puerta
digitalWrite(8,LOW);
memoria=0;
}
if(digitalRead(2)==LOW){//dar al pulsador
memoria=1;
digitalWrite(8,LOW);
delay(300);
}
}