float flowCalculation(unsigned long currentTime) {
// Every second, calculate and print litres/hour
if (currentTime >= (cloopTime + 1000))
{
cloopTime = currentTime; // Updates cloopTime
if (flow_frequency != 0) {
// Pulse frequency (Hz) = 7.5Q, Q is flow rate in L/min.
l_minute = (flow_frequency / 7.5); // (Pulse frequency x 60 min) / 7.5Q = flowrate in L/hour
// l_minute = l_minute / 60;
flow_frequency = 0; // Reset Counter
}
else {
}
}
return l_minute / 60;
}
void flow () // Interrupt function for arduino
{
flow_frequency++;
}
// void IRAM_ATTR flow() // Interrupt function for esp32
// {
// flow_frequency++;
// }