Changed scheduleNextPinEvent() to correctly use micros() instead of millis()