Timer using millis()

omegaman:

if((millis() - (minutes_240 + current_time_2)) >= 0)

That doesn't handle overflow correctly, although to be fair that would only be an issue if you're expecting to leave this running for weeks and weeks. Still, it's best to get into the habit of using a construct that handles overflow correctly:

if((millis() - current_time_2) >= minutes_240)

(I'm assuming here that current_time_2 is an unsigned long holding a previous value of millis(), and minutes_240 is an unsigned long that holds the required duration in milliseconds.)