2

I am following the wiring and code at https://playground.arduino.cc/Main/ReadingRPM but using pin 9 to read the speed instead of pin 2 and I have added a 10K pull up resistor between pin 9 and +5V as well; I dont see any interrupts firing even though the fan is running;

The fan is a standard intel cpu fan with 4 wires(black, yellow, green, blue) and the green wire is the sense/tach wire and I have connected it to pin 9 as well;

Need some help or expert advise; I am not sure if the approach works fine or not;

techniche
  • 198
  • 2
  • 12

1 Answers1

4

There are no interrupts on pin 9 (unless you are using Pin Change interrupts...?). You have to use pin 2 (interrupt 0), or pin 3 (interrupt 1) (also, on the Mega: 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), and 21 (interrupt 2)).

Majenko
  • 105,095
  • 5
  • 79
  • 137
  • I am using arduino mega and using the digitalPinToInterrupt(9) when passing the value to attach/detach interrupt calls; not sure if thats same as what you meant; – techniche Sep 16 '17 at 20:59
  • RTFM: External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), and 21 (interrupt 2). These pins can be configured to trigger an interrupt on a low level, a rising or falling edge, or a change in level. See the attachInterrupt() function for details. – Majenko Sep 16 '17 at 21:01
  • Thanks; I am using pin 19 now since other pins are occupied and the code seems to read and print RPM values; – techniche Sep 16 '17 at 21:06