Wasserfluss per ISR ermitteln > Loopdauer

Bei BlinkWithoutDelay liegt der "Trick" darin, dass ein einzelner loop - Durchlauf fast keine Zeit braucht, weil kein delay drin ist. In jeder Millisekunde läuft dann loop unendlich oft durch und macht fast nie etwas.
Dass - bei jeweils eigenen "oldTime" - Merkern (mit unterschiedlichen Namen) beliebig viele Zyklen gleichzeitig und unabhängig realisiert werden können, sollte dir klar sein ...


Und nimm endlich das falsche detachInterrupt raus :)