#include <HX711.h>
#define calibration_factor .420 // needs to be changed based on units
#define LOADCELL_DOUT_PIN 3
#define LOADCELL_SCK_PIN 2
int initialVolume = 0;
int waterConsumed = 0;
HX711 scale;
int currentWater;
int lastVal = 0;
int prevWaterConsumed = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("HX711 scale demo");
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
scale.set_scale(calibration_factor);
pinMode (13, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
currentWater = scale.get_units();
if (currentWater < lastVal) {
waterConsumed = initialVolume - currentWater + prevWaterConsumed;
Serial.print("Water Consumed: ");
Serial.println(waterConsumed);
lastVal = currentWater;
delay(25);
}
else if (currentWater > lastVal) {
prevWaterConsumed = waterConsumed;
Serial.println ("Water Rising");
initialVolume = currentWater;
lastVal = currentWater;
delay(25);
}
}