Spero di aver capito. Tu l'interrupt non lo usi per leggere il sensore ma per altre cose. Giusto? Però pulseIn usa delay, che a sua volta è basato sul timer 0, che a sua volta usa un interrupt per gestire l'incremento del contatore su cui si basa delay. Se blocchi genericamente gli interrupt con un noInterrupts() (che equivale a sei() ), blocchi tutto e non esci più da pulseIn. Devi bloccare selettivamente solo l'interrupt che non deve disturbarti.