Calculating flow and volume of water:
You can now either copy the code inside a file called Flow_sensor_measure_volume.ino, or just get the complete code from the folder for this project.
In this part, we calculate the flow and volume from the sensor:
int pin = 2; volatile unsigned int pulse; float volume = 0; floatflow_rate =0; constintpulses_per_litre = 450;
We set up the interrupt:
void setup()
{
Serial.begin(9600);
pinMode(pin, INPUT);
attachInterrupt(0, count_pulse, RISING);
}
Start the interrupt:
void loop()
{
pulse=0;
interrupts();
delay(1000);
noInterrupts();
Then we display the flow rate of the sensor:
Serial.print("Pulses per second: ");
Serial.println(pulse);
flow_rate = pulse * 1000/pulses_per_litre;
We calculate the volume of the sensor:
Serial.print("Water flow rate: ");
Serial.print(flow_rate);
Serial.println(" milliliters per second");
...