Como medir milisegundos en una entrada

Hola gente

Estoy comenzando a realizar un detector de tiempo de disparo de disyuntores diferenciales.

la idea es la siguiente:
Tener sensada una entrada que cuando recibe un nivel logico alto, comienza a contar hasta que ese nivel logico cambia a 0 . Ese lapso de tiempo es el que dura desde que inicio la descarga al disyuntor hasta que este acciona y corta la corriente.
La coneccion entre el disyuntor 220V y la ntrada del arduino la realizo con un optoacoplador.
La gran duda es si se puede utilizar la funcion ISR que por lo que tengo entendido hace una interrupcion con la posiblilidad de tener un conteo, como nunca la utilicé no se si se adapta.
Cabe destacar que el tiempo que tengo que medir es entre 5 y 30 milisegundos.
Si alguien me puede orinetar será bienvenido

Esto podria valerte:
pulseIn() - Arduino Reference Pero claro ,deberias usarla cuando recibieras la señal del cambio en una interrupcion ,donde simplemente activarias un flag y al entrar al loop si el flag se activo lanzar el pulseIn

Hola José
Lo voy a probar, luego comento
Muchas Gracias

Hola Jose

Probé el sketch y funciona bien; la prueba la realicé con un pulsador (provisoriamente).
Ahora comienzo a armar todo para probar en la practica
Muchas Gracias