Ayuda cerradura portero

Bueno voy a explicarme lo mas claro posible.
Lo pienso hacer con arduino uno
Lo que quiero es habrir la puerta del portal utilizando el timbre del portero.
Mas o menos seria asi:cuando pulso el timbre de mi casa entre cinco y diez segundos se activaria una salida para activar un rele de la cerradura durante tres segundos para que de tiempo habrirla.
Para que no estaria el timbre sonando durante todo ese tiempo estaria el timbre desconectado y si no se cumpliera la condicion anterior entonces activaria otro rele que este si seria del timbre durante dos segundos por si alguien llama.
Esto ultimo es por seguridad por si ponen un palillo en el timbre y no este sonando todo el rato y ademas que no se habra la puerta si no se da la condicion de entre 5 y 10
segundos.
Eso es mas o menos no tiene porque ser asi exactamente pero es lo mejor que se me a ocurrido.
En el programa arduino e metido el codigo pero no me lo copila es verdad que estoy verde ya que no se programar en c++ pero e estado dos dias estudiandolo y viendo tutoriales ya se que no es mucho pero ahora mismo estoy bloqueado no encuentro como implementarlo.

int pulsador =10
int timbre =11
int cerradura =9
void setup() {
  // pulsador timbre y cerradura:
 pinMode(pulsador,INPUT);
 pinMode(timbre,OUTPUT);
 pinMode(cerradura,OUTPUT); 
}

void loop() {
  // esto son las condiciones:
   if(digitalRead(pulsador,HIGH,delay(5000<10000);
      digitalWrite(cerradura,HIGH);
      delay(3000);
      digitalWrite(cerradura,LOW);
      digitalRead(pulsador,HIGH,delay(0<5000);
      digitalWrite(timbre,HIGH);
      delay(2000) 
}

Bueno gracias de antemano ya se que es una chorrada de programa pero no veo la luz seguire estudiando este lenguaje porque le veo muchas utilidades.
un saludo

Perdonar corrijo el codigo

int pulsador =10;
int timbre =13;
int cerradura =9;
void setup() {
  // pulsador timbre y cerradura:
 pinMode(pulsador,INPUT);
 pinMode(timbre,OUTPUT);
 pinMode(cerradura,OUTPUT); 
}

void loop() {
  // esto son las condiciones:
   if(digitalRead(pulsador,HIGH,delay(5000<10000);
      digitalWrite(cerradura,HIGH);
      delay(3000);
      digitalWrite(cerradura,LOW);
   
}
else {
  // si no se cumple 
  digitalWrite(timbre,HIGH);
  delay(2000);
  digitalWrite(timbre,LOW);
}

Si gracias por responderme tan pronto.
Viendo la pagina a la que me reportas es muy interesante pero no me sirve hay que hacer varias placas y muchas soldaduras y la mitad del montaje para mi es adsurdo ten encuenta que es una comunidad y no quiero que se enteren y con un arduino uno o el mini lo puedo integrar en el telefonillo.
Lo unico que quiero es las variables para que el codigo me compare entre 5 y 10 segundos y hara la puerta o sino suene el timbre ademas es una utilidad que podria utilizar mucha gente la verdad.
gracias