#define Out_WN 11 //выход форсунки подачи воды
#define In_IF 0 //вход сигнала импульса форсунки (0-D2,1-D3)
#define t_I_rate 2 //отношение длительности импульса впрыска воды к длительности импульса форсунки
volatile uint32_t time_F; //текущее время по прерываниям импульсов форсунки
volatile uint32_t t_IF;
void setup() {
pinMode(Out_WN, OUTPUT);
pinMode(In_IF+2, INPUT);
attachInterrupt(In_IF, IF, CHANGE);//прерывание на импульс форсунки (¯|_ or _|¯)
Serial.begin(9600);
}

void loop() {
  Serial.print(t_IF);Serial.print("    ");Serial.println(round(t_IF*t_I_rate));
     if ((micros()-time_F)>=round(t_IF*t_I_rate))
     {
      digitalWrite(Out_WN, LOW);
     }   
}
//обработчик прерывания импульса форсунки
void IF() 
{
  if (digitalRead(2)==LOW)
  {
     time_F=micros();
     digitalWrite(Out_WN, HIGH);
  }
  if (digitalRead(2)==HIGH)
  {
     t_IF=micros()-time_F;

  }
}
$abcdeabcde151015202530fghijfghij
$abcdeabcde151015202530fghijfghij