Документация для attachInterrupt()говорит: ... millis()полагается на количество прерываний, поэтому оно никогда не будет увеличиваться внутри ISR. Поскольку delay()для работы требуются прерывания, он не будет работать, если вызывается внутри ISR. micros()Первоначально работает, но через 1-2 мс...