Water flow sensor

Hi everyone. I am using the following code to read the flow through the sensor. When I plugged in my sensor to port 2, everything worked fine. But when I changed this to bit 7 (in both hardware and software), it did not give me any results but still went on measuring bit 2. Does anyone knows why?
Here is the code

#include <SD.h>

volatile int Signal_1; //measuring the rising edges of the signal
int MeasuredFlow_1;     // the converted output signal
int flowmeter_1 = 7;    // Assigning pin 7 to input of flow meter 1 (input)

void rpm ()     //This is the function that the interupt calls 
{ 
  Signal_1++;  //This function measures the rising and falling edge of the hall effect sensors signal
} 
                // The setup() method runs once, when the sketch starts
void setup() //
{ 
  pinMode(flowmeter_1, INPUT);      //initializes digital pin 7 as an input
  Serial.begin(9600);              //This is the setup function where the serial port is initialised,
  attachInterrupt(0, rpm, RISING); //attaching the interrupt
} 
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop ()    
{
  Signal_1 = 0;                  //Set NbTops to 0 ready for calculations
  sei();                          //Enables interrupts
  delay (1000);                   //Wait 1 second
  cli();                          //Disable interrupts
  MeasuredFlow_1 = (Signal_1 * 60 / 7.5);  //(Pulse frequency x 60) / 7.5Q, = flow rate in L/hour 
  Serial.print (MeasuredFlow_1, DEC);       //Prints the number calculated above
  Serial.print (" L/hour\r\n");   //Prints "L/hour" and returns a  new line
}

External interrupt 0 is on pin 2. You can not change the pin for external interrupt 0. If you need the interrupt to be on a different pin you can use "pin change interrupts".

thanks for the help :slight_smile: it worked perfectly :slight_smile: