Почитал сегодняшние сообщения и пришел к выводу :
Что 4n35 ловил не совсем на нуле , соответственно расчеты длительности будут не верны.
По этому нужно переинициализировать прерывание каждый раз при прохождении нуля
Примерно так
PHP код:
// Функция обработки прерывания на подъем
void FrontUp()
{
detachInterrupt(0);
attachInterrupt(0, FrontDown, FALLING);
}
// Функция обработки прерывания на спад
void FrontDown()
{
detachInterrupt(0);
attachInterrupt(0, FrontUp, RISING);
}