Accendere pin dopo tot secondi di un evento

Ma l'hai guardato l'esempio che ti hanno linkato?

Un ciclo while imbriglia l'esecuzione in un loop da cui se ne può uscire solo al verificarsi di un evento.
Tu vuoi controllare che arrivi un impulso, attivare un contatore e poi controllare prima del timeout che non arrivi un altro impulso. Se entrambe le condizioni si verificano, attivi un altro pin.
Come vedi sono 2 condizioni annidate quindi un while dentro l'altro. E' ciò che ha fatto tonid nel suo codice.