Timing Alerts

Hi I have a sensor that checks light - depending on the light intensity the SD cards plays a message.
the sensor has a range of values - 1- 5

my problem is that the Message is played over and over again and i want to play it once after it has been played and make it sleep for an curtain amount of time.

I don't want to use delay because is stops the probe from measuring continuously.

1.How do i get the message to 'sleep' for x time without using the delay function?

2.How can i check the direction of the intensity - if it's going from high to low or from low to high because i want to say a different message for good light when going from good to no light or from too much light to good light. see bellow.

this is important to me because i want the system to say the following.

1.No light
2.Almost no light
3.good light.
4.to much light.
5.to much light to good light - light is now ok.

thanks you are my heroes!

Look at the 'blink withoout delay' example in the ide..

And for detecting direction have a variable which holds the previous measurement and compare with the new one.