Вот так будет оптимальней (без циклов и прерываний) определяет импульс от120мкс
Код HTML:
unsigned long time, tpl ,temp_tpl;
boolean act = false;
void setup()
{
Serial.begin (115200);
}
void loop()
{
if (analogRead(1) > 600) { // проверка на высокий уровень
if (!act){ //проверка было ли начало импульса
tpl = micros();
act = true; // установить метку высокого уровня
}
}else{
if (act){ // при низком уровне зафиксировать длительность импульса
time = micros()-tpl;
act = false; // установить метку низкого уровня
}
};
if (micros() - temp_tpl > 500000){ // задержка на вывод результата
Serial.println( time , DEC); // отправить значение компьютеру
temp_tpl = micros(); // начало задержки
}
}