1602 LCD and reading out RPM fan

And I'm back,
It doesn't work :frowning:

int pin = A0;
unsigned long duration;
unsigned int rpm;

void setup()
{
  pinMode(pin, INPUT);
  Serial.begin(9600);
}

void loop()
{
  duration = pulseIn(pin, HIGH);
  rpm = ((2200*6550)/duration);
  Serial.println(rpm);
}

And what comes out:

17198
16357
15832
15832
17936
17303
15727
16357
15937
15937
16357
15727
15832
16567
15937
15832
18042
15832
15832
16567
17303
17514
16567

This should be around 2200 (the rpm).
What am I doing wrong?