loading

Stoplight Status Indicator Project

I have never attempted a project before and I imagine it maybe be somewhat simple for some of you.  If I could get any advice on this I would really appreciate it.

I would like to make a "stoplight" that consists of three lights/signals.  Yellow, Red and Green.  I'd like to be able to switch what color light is activated by pushing one (or three buttons if that's easier) but only one light should ever be on at one time.  If one button is used then the order the lights would cycle in each time the button is pressed is Yellow --> Red --> Green --> Yellow --> Red --> Green etc etc...

Additionally, I'd like a timer to start whenever the Red light is lit.  After the timer reaches 2 minutes I would like the Red light to start flashing on and off.  Basically a warning that the red light has been on for 2 minutes.  Ideally the timer length would be changeable to anywhere from 1-4 minutes.  Also, as a bonus if some sort of LED timer could actually should the timer counting up from zero that could at least count up to 9 minutes 59 seconds that would be awesome.

I could easily enough just make a 3 buttons that turn on/off a light, but here are the two main things I need help with:

1) How do I make it so that when the Red light comes up the timer starts and flashes the light at 2 minutes?

2) How do I make a single button cycle between turning on each of the three lights in order each time the button is pressed (e.g. Press once it turns on Yellow and Red & Green off, press again it turns off yellow and turns on Red, press again and it turn off Red and turns on Green, etc

Thanks in advance!