Now using millis() instead of micros() for correct delay inervals
The library has not been tested yet on a real Arduino board. Any improvements would be greatly appreciated.