Arduino спидометр
Сначала выкидываете arduino IDE, затем отказываетесь от библиотек, предоставляемых arduino и читаете мануалы к AVR. И тут окажется, что есть такая штука, как input capture. При замыкании геркона процессор аппаратно помещает в специальный регистр время, когда это произошло, а потом вызывает прерывание.
Только висит IC не на том таймере, который используется для подсчета времени в arduino.

Без использования IC у вас нормально спидометр работать не будет.
Я боюсь оказаться тем чуваком, который ничего не понял и написал фигню, но вы не о прерываниях говорите?