traffic light project!

I will give that a try!

Do it properly, though. Do NOT add times. That can cause rollover, which causes all kinds of problems. Use subtraction, instead, which is guaranteed to work, even when the value output by millis() rolls over.

unsigned long now = millis();
if(now - then >= idleTime)
{
   // It's time to not be idle anymore
   then = now;
}