Buenas! A ver.. Soy muy nobel en programación, pero vamos, por lo que me dice sy por lo que leo, el código está bien... Si el objetivo es que cuando este pulsado el botón, haga todo eso, esta OK, y se parará cuando dejes de pulsarlo, no veo necesidad de interrupción, ya que entiendo que es cuando levantas el dedo..
Entonces donde esta el problema, o donde no te estoy entendiendo con exactitud?
Pero yo usaría el "! digitalRead" que ese símbolo significa "negación" o "lo contrario de"
Y metes lo que tienes en el "if" dentro del "else" y lo que hay dentro del "else" en el "if"
En plan, cuando no esté pulsado que haga esto... Y si se pulsa (else) que haga lo que yo quiera..
Pero insisto en que soy nobel.. Igual he dicho algo que este bien.. Pero vamos, que seguro que lo consigues!!
Suerte!