Maquina expendedora

Hola buenas a todos.
Gracias por prestar atencion a mi consulta.
Soy nuevo en el mundo de la programacion, y acabo de iniciarme con arduino ( soy electronico )
Estoy intentado crear una pequena maquina espendedora, como aprendiz de arduino.
Para iniciarme sin tener ni idea. he optado, aprendiendo con copiar y pegar ( ensayo ), os describo mi problema:
Arduino Uno ; lo realizo
cuatro salidas y un pulsador
Pin 9 controla un pito 1seg
Pin 10 rele 4 segundos
Pin 11, 12 dos salidas con led con blink ,cada una a frecuencias diferentes.
Estas dos salidas necesito que siempre esten loop como indicadora de estar operativa la maquina expendedora.
Cuando pulso la entrada PIN 2 del arduino, se me activa las dos salidas Pin 9, Pin 10 al mismo tiempo.
Con un delay, para cada una. Controlo las dos temporizaciones , bien.

Aqui tengo mi consulta; por que cuando pego el codido de ejemplo (timer .h). La intermitencia de los pines 11, y 12, no funciona.
Y esperan el tiempo del delay de los pines 9, 10
este es mi codigo:

#include “Timer.h”
volatile int estado = LOW;
int PULSADOR = 2;
int LED = 9;
int RELAY = 10;
const int LED1 = 11;
const int LED2 = 12;
const unsigned long PERIOD1 = 22; //one second
const unsigned long PERIOD2 = 190; //ten seconds
Timer t;
void setup (){
pinMode( PULSADOR , INPUT);
pinMode(LED, OUTPUT);
pinMode(RELAY, OUTPUT);
attachInterrupt (digitalPinToInterrupt(PULSADOR),manejadorPulsador,RISING);
//digitalWrite(LED, LOW);
digitalWrite(LED, estado);//new codigo
//digitalWrite(RELAY, LOW);
digitalWrite(RELAY, estado);
{
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
t.oscillate(LED1, PERIOD1, HIGH);
t.oscillate(LED2, PERIOD2, HIGH);
}

}
void manejadorPulsador (){
estado =!estado;
}
void loop(){
t.update();
while(digitalRead(PULSADOR) == LOW);
digitalWrite(LED, HIGH);
digitalWrite(RELAY, HIGH);
delay (1000);
digitalWrite(LED, LOW);
digitalWrite(RELAY, HIGH);
delay (4000);
digitalWrite(RELAY, LOW);
while(digitalRead(PULSADOR) == HIGH);

Lee las normas del foro y edita tu código usando etiquetas </>.
Cuando lo hagas seguramente comenzarás a recibir respuestas a tu problema.

A tu máquina le veo un problema en cada delay() que encuentro en el loop

Todo esto debes hacerlo usando millis() asi que ya que empiezas con Arduino hazlo correctamente. OLVIDA DELAY y mira como lo escribo, Gritando!!
El delay detiene al Arduino.

Mira la cantidad de mensajes de esta Sección. Pues bien el 80% de esos mensajes tienen delay y en ese 80% siempre hemos dicho NO USEN DELAY, tal vez te quede claro.

Ahora ve a Documentación => indice de temas tutoriales y lee millis() y máquinas de estados.
Te vas a marear un poco tal vez pero luego que lo hagas nos comentas y reescribimos tu programa si no es que alguien lo hace antes.

La diferencia será que ahora, tu código mas alla que esta mal, se detiene con cada delay(), el otro hará todo sin detenciones, y estará atento al estado del pin sin demoras.
Mostrará el parpadeo que quieres para indicar funcionamiento de tu máquina, con un código que imita a Blink.ino pero sin delay() y se llama BlinkWithoutDelay.ino.
Está en los ejemplos de tu IDE y es una buena introducción a millis().