Qual a melhor maneira de implementar uma função para contar o tempo de duração deste sinal,
do momento que há o primeiro pico, ao momento que começa a baixar (cerca de 5s no caso)?

A precisão/resolução pode ser de cerca de 100ms.
Eu implementei uma função baseada na média das 3 últimas leituras + uma,
quando a diferença entre a media e a última é maior que x, ele entende que a tensão começou a cair.
Funcionou bem em testes, porém ao montar no circuito completo aparecem muitos transientes (como podem ver),
e precisarei conviver com eles =/
Alguma ideia?