Advantages of the VirtualDelay library:
- The delay is virtual, during the delay, the code execution is continued
- We can use multiple delays sequentially in a loop.
- We can use multiple delays simultaneously and independent of each other.
- The delay time can set in micro-seconds or milli-seconds.
- No hardware timers are used
- The library is timer-rollover safe
See the article http://www.avdweb.nl/arduino/libraries/virtualdelay.html