//DATE :03/08/2018AM

CIRCUIT DIAGRM



CODE 

int rpm;
volatile byte pulses;
unsigned long timeold;
unsigned int hole=8;
void contador()
{
  pulses ++;
}
void setup()
{
  Serial.begin(9600);
  pinMode(2,INPUT);
  attachInterrupt(0,contador,RISING);
  pulses=0;
  rpm=0;
  timeold=0;
}
void loop()
{
  if(millis()-timeold>=1000)
  {
    detachInterrupt(0);
    rpm=(60*1000/pulses)/(millis()-timeold)*pulses;
    timeold=millis();
    pulses=0;
    Serial.println("rpm=");
    Serial.println(rpm,DEC);
    attachInterrupt(0,contador,RISING);
  }
}

/*
// encode motor speed measuremant
int  rpm;
volatile byte pulsos;
unsigned long timeold;

unsigned int hole = 12;

void contador()
{
  pulsos++;

}

void setup()
{
  Serial.begin(9600);

  pinMode (2,INPUT);
  attachInterrupt(0, contador,RISING);
  pulsos = 0;
  rpm = 0;
  timeold = 0;

}

void loop()
{
  if (millis()-timeold >=1000)
  {
    detachInterrupt(0);
    rpm = (60*1000/hole)/(millis()-timeold)*pulsos;
    timeold = millis();
    pulsos = 0;
    Serial.print("RPM= ");
    Serial.println(rpm,DEC);
    attachInterrupt(0, contador,RISING);
  }
}
 
 
*/