secondo me vuoi fare il passo più lungo della gamba, inizia a far lampeggiare due led con tempi diversi con millis(), poi intercetta la pressione di un pulsante e fai fare qualcosa di conseguenza ai due led, che so che rimangano accesi per 2 secondi.... una volta che hai le idee ben chiare su come gestire millis() e leggere un input lo espandi per realizzare tutto il semaforo