To use the node in your project you should have the reduard/consumo library installed. Use the “File → Add Library” menu item in XOD IDE if you don’t have it yet. See Using libraries for more info.
C++ implementation
const int sensorPin = port; // Impulsi del sensore collegati al pin 2
unsigned int pulseCount; // Numero di impulsi
unsigned long flowRate; // Flusso in ml/h
unsigned long totalMilliLitres; // Quantità totale di liquido passata (in ml)
unsigned long totalLitres; // Quantità totale di liquido passata (in litri)
unsigned long totalMilliLitresOld;
unsigned long oldTime;
void setup()
{
Serial.begin(9600);
pinMode(sensorPin, INPUT);
pulseCount = 0;
flowRate = 0.0;
totalMilliLitres = 0;
totalLitres = 0;
oldTime = 0;
}
void loop()
{
if((millis() - oldTime) > 1000) // Aggiorna ogni secondo
{
flowRate = ((1000.0 / (millis() - oldTime)) * pulseCount) / 7.5; // Calcola il flusso in ml/h
oldTime = millis();
totalMilliLitres += pulseCount * 2.25; // Aggiorna la quantità totale di liquido passata (in ml)
pulseCount = 0; // Resetta il contatore degli impulsi
totalLitres = totalMilliLitres / 1000; // Calcola la quantità totale di liquido passata (in litri)
Serial.print("Flusso: ");
Serial.print(flowRate); // Stampa il flusso in ml/h
Serial.print(" ml/h - Quantità totale: ");
Serial.print(totalMilliLitres);
Serial.println(" ml");
}
if(digitalRead(sensorPin))
{
pulseCount++; // Incrementa il contatore degli impulsi
}
}