consumo

reduard/consumo/consumo

No description
consumo
@/consumo
INport
consumo
OUT
IN
OUTnumber
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
  }
}