non capisco, puoi schiaffarci praticamente di tutto nel loop, anche il pulseIn
per intenderci: in una riga del loop salvi il dato rilevato dal pulseIn in una variabile, e con un if..else subito dopo puoi mandare il digitalWrite sul pin del led
in questo modo puoi fare tutte le letture che vuoi, e solo se superi una determinata soglia della variabile, l'if accende il led, e lo mantiene acceso per tutto il tempo durante il quale la soglia è superata
se invece implementi delle tue funzioni, allora puoi usare l'interrupt, ma con parecchie limitazioni (zero variabili, non si può usare il delay, ecc)
EDIT
ho letto il programma, il problema è che vuoi una media delle letture rpm...
se ti accontenti della lettura senza media, puoi fare come ho fatto io per la moto, ovvero i led li accendo da funzioni esterne, mentre le letture le faccio dal ciclo loop. Anche se esce in continuazione dalla funzione (spegnendo il led) e riprende il ciclo loop, se il sensore è ancora oltre la soglia da me definita, ripartirà la mia funzione al successivo ciclo loop. Il led apparirà all'occhio umano come sempre acceso, senza sfarfallare.
per intenderci: in una riga del loop salvi il dato rilevato dal pulseIn in una variabile, e con un if..else subito dopo puoi mandare il digitalWrite sul pin del led
in questo modo puoi fare tutte le letture che vuoi, e solo se superi una determinata soglia della variabile, l'if accende il led, e lo mantiene acceso per tutto il tempo durante il quale la soglia è superata
se invece implementi delle tue funzioni, allora puoi usare l'interrupt, ma con parecchie limitazioni (zero variabili, non si può usare il delay, ecc)
EDIT
ho letto il programma, il problema è che vuoi una media delle letture rpm...
se ti accontenti della lettura senza media, puoi fare come ho fatto io per la moto, ovvero i led li accendo da funzioni esterne, mentre le letture le faccio dal ciclo loop. Anche se esce in continuazione dalla funzione (spegnendo il led) e riprende il ciclo loop, se il sensore è ancora oltre la soglia da me definita, ripartirà la mia funzione al successivo ciclo loop. Il led apparirà all'occhio umano come sempre acceso, senza sfarfallare.