You are on page 1of 1

//code by YaSh.

int sen = A0;


const float wid = 0.012; //adjust the width of the fan blade according to your
needs.
const float rad = 0.045; //adjust the radius of the point of detection in the
fan blade.
const float konst = 6.2832; // 2*pi.
float time_1;
float time_2;
float vel;
float diff;
float tnet;
float rpm;
void setup()
{
Serial.begin(9600);
pinMode(sen,INPUT);
Serial.print(" \
please start the motor at least 3 seconds prior.\
");
delay(3000);
}
void loop()
{
if(analogRead(sen)<950)
{
time_1 = millis();
delay(30);
}
if(analogRead(sen)>950)
{
time_2 = millis();
diff = (time_2-time_1);
vel = wid/diff; //rotation velocity
tnet = (konst*rad)/vel; //time = (2*pi*radius)/velocity.
rpm = (60000)/tnet; // time in ms to minutes and then to rpm
conversion step.
}
Serial.print("\
The rpm is : ");
Serial.println( rpm );
}

You might also like