i have added some serial print to show you the behaviour of the sensors:
volatile byte rpmcount;
unsigned int rpm;
unsigned long timeold;
void setup() {
Serial.begin(115200);
rpmcount = 0;
rpm = 0;
timeold = 0;
}
void loop()
{
if (rpmcount >50){
detachInterrupt(digitalPinToInterrupt(3));
rpm = 30 * 1000 / (millis() - timeold) * rpmcount;
timeold = millis();
rpmcount = 0;
}
attachInterrupt(digitalPinToInterrupt(3), rpm_fun, FALLING);
Serial.print("rpmcount: ");
Serial.print(rpmcount);
Serial.print(" | sensor: ");
Serial.print(digitalRead(3));
Serial.print(" | rpm: ");
Serial.println(rpm);
}
void rpm_fun() {
rpmcount++;
}
i have two ir sensors
ir-08h that i am not using
because it has mounted a HC00AG and on page 4 fig 1 shows that has a "time delay" so i thought it was less correct to use it
and then the ir sensor that i am using is this:
i wasn t able to find any shematics... but here there aren t any capacitator, the potentiometer is used to adjust the sensibility distance
so the output of this sensor is this, i am coping only relevant parts:
rpmcount: 0 | sensor: 1 | rpm: 0
rpmcount: 0 | sensor: 1 | rpm: 0
rpmcount: 0 | sensor: 1 | rpm: 0
rpmcount: 9 | sensor: 0 | rpm: 0
rpmcount: 9 | sensor: 0 | rpm: 0
rpmcount: 9 | sensor: 0 | rpm: 0
rpmcount: 9 | sensor: 0 | rpm: 0
rpmcount: 9 | sensor: 1 | rpm: 0
rpmcount: 16 | sensor: 1 | rpm: 0
rpmcount: 16 | sensor: 1 | rpm: 0
rpmcount: 16 | sensor: 1 | rpm: 0
rpmcount: 16 | sensor: 1 | rpm: 0
rpmcount: 16 | sensor: 1 | rpm: 0
rpmcount: 22 | sensor: 0 | rpm: 0
rpmcount: 22 | sensor: 0 | rpm: 0
rpmcount: 22 | sensor: 0 | rpm: 0
rpmcount: 22 | sensor: 0 | rpm: 0
rpmcount: 30 | sensor: 1 | rpm: 0
rpmcount: 30 | sensor: 1 | rpm: 0
rpmcount: 30 | sensor: 1 | rpm: 0
rpmcount: 30 | sensor: 1 | rpm: 0
rpmcount: 30 | sensor: 1 | rpm: 0
rpmcount: 30 | sensor: 1 | rpm: 0
rpmcount: 30 | sensor: 1 | rpm: 0
rpmcount: 30 | sensor: 1 | rpm: 0
rpmcount: 43 | sensor: 0 | rpm: 0
rpmcount: 43 | sensor: 0 | rpm: 0
rpmcount: 43 | sensor: 0 | rpm: 0
rpmcount: 43 | sensor: 0 | rpm: 0
rpmcount: 43 | sensor: 0 | rpm: 0
rpmcount: 0 | sensor: 1 | rpm: 364
rpmcount: 0 | sensor: 1 | rpm: 364
rpmcount: 0 | sensor: 1 | rpm: 364
rpmcount: 0 | sensor: 1 | rpm: 364
rpmcount: 0 | sensor: 1 | rpm: 0
rpmcount: 0 | sensor: 1 | rpm: 0
rpmcount: 0 | sensor: 1 | rpm: 0
rpmcount: 24 | sensor: 0 | rpm: 0
rpmcount: 24 | sensor: 0 | rpm: 0
rpmcount: 24 | sensor: 0 | rpm: 0
rpmcount: 24 | sensor: 0 | rpm: 0
rpmcount: 24 | sensor: 1 | rpm: 0
rpmcount: 47 | sensor: 1 | rpm: 0
rpmcount: 47 | sensor: 1 | rpm: 0
rpmcount: 47 | sensor: 1 | rpm: 0
rpmcount: 47 | sensor: 1 | rpm: 0
rpmcount: 47 | sensor: 1 | rpm: 0
rpmcount: 47 | sensor: 1 | rpm: 0
rpmcount: 58 | sensor: 0 | rpm: 0
rpmcount: 0 | sensor: 0 | rpm: 754
rpmcount: 0 | sensor: 0 | rpm: 754
rpmcount: 0 | sensor: 0 | rpm: 754
rpmcount: 0 | sensor: 0 | rpm: 754
rpmcount: 0 | sensor: 0 | rpm: 754
rpmcount: 0 | sensor: 0 | rpm: 754
rpmcount: 0 | sensor: 0 | rpm: 754
rpmcount: 0 | sensor: 0 | rpm: 754
rpmcount: 11 | sensor: 1 | rpm: 754
rpmcount: 11 | sensor: 1 | rpm: 754
rpmcount: 11 | sensor: 1 | rpm: 754
now i am going to try your suggestions
P.S: i would rather do ir with ir sensor not hall effect
