Rainforest project

Writing code using millis() can be more difficult for beginners. Writing code using delay() is usually considerably easier for beginners to grasp. But using delay() has a disadvantage. If that disadvantage is not a concern for your project, then you can follow the easier delay() method.

The disadvantage is that while delay() is running, the Arduino can do literally nothing else. It cannot even monitor a button to see if it gets pressed, for example. It cannot react to any external input.

So the question for you is will your code need to react in any way to an external input while the lighting sequence is running?