Usar un temporizador y comparadores

Hola chicos, a ver quien puede ayudarme
Llevo dándole vueltas al tema y no lo consigo (también es verdad que soy un poco novato con esto)
Quiero simular un cruce de semaforos con arduino
He encontrado sketch hechos , pero creo que muy brutos
La idea que tengo es un temporizador que se inicie al iniciar arduino, o bien cuando se actue un boton, y luego hacer comparaciones
Por ejemplo:
Supongamos que el ciclo completo del semáforo es de 60 seg
quiero que cuente el temporizador 60 seg y se resetee, y comience de nuevo la cuenta
Al mismo tiempo , hacer comparaciones del tipo
Si el tiempo es menor que 30 seg encender el led 1, y apagar el 2 y el 3
Si el tiempo esta entre 30 y 35 seg apagar el led 1 , encender el 2 y apagar el 3
Si el tiempo es mayor de 30 seg, apagar el led 1, apagar el 2 y encender el 3
Así haríamos una tabla de tiempos , y podríamos ver el estado de tantos semáforos como necesitemos

Hola fercaravelle:

Mira, no es muy difícil. Supongo que sabes prender y apagar un led. Es lo mas sencillo de todo en Arduino y es usando digitalWrite(ledpin, HIGH); (mira Blink entre los ejemplos básicos)

El ciclo (loop()) sería algo así:
Prendes el rojo. Pasan 30 segundos, delay(30000). Apagas el rojo y prendes el amarillo. delay(5000). Apagas el amarillo y prendes el verde delay(25000). Apagas el verde y nada mas. Reinicia el ciclo prendiendo el rojo.

Esto es lo básico, por supuesto se puede refinar, conectar un boton, luces que titilen, etc.

El ejemplo de Blink es en esencia lo mismo con un solo led.

Saludos.