Скетч который может измерять частоту от 4Гц
PHP код:
#include <util/delay.h> 

volatile unsigned int tachBuf
unsigned long tachValue

ISR(TIMER1_CAPT_vect
{  
    
TCNT1 0;   
    
tachBuf ICR1+2

//******************************************************************** 
void setup()     
{   
   
pinMode(8INPUT);  //Вход для импульсов спидометра 
   
pinMode(6OUTPUT);//выход ШИМ 
   
TCCR0B TCCR0B 0b11111000 5;//частота ШИМ  
   
analogWrite(6128);  //Запустить ШИМ 
   
digitalWrite(8HIGH); // включить подтяжку входа 
   
Serial.begin(115200); 
   
TIM_Init();//инициализация таймера 
  
_delay_ms(300); 
}   
//******************************************************************** 
void loop()     

  
cli();   
  
tachValue =250000/tachBuf
  
Serial.print("freq="); 
  
Serial.println(tachValue,DEC); 
  
tachBuf=1
  
sei(); 
  
_delay_ms(300); 
}    
//******************************************************************** 
void TIM_Init(void

   
TIMSK1=(1<<ICIE1);  
   
TCCR1A=(0<<COM1A1)|(0<<COM1A0)|(0<<WGM11)|(0<<WGM10);   
   
TCCR1B=(1<<ICNC1)|(1<<ICES1)|(0<<WGM13)|(0<<WGM12)|(0<<CS12)|(1<<CS11)|(1<<CS10); 
   
TCNT1 0;