// https://www.allaboutcircuits.com/textbook/direct-current/chpt-9/strain-gauges/
// Most any pin on the Arduino Uno will be compatible with DOUT/CLK.
// Parece que funciona con pines digitales o analógicos.
// The HX711 board can be powered from 2.7V to 5V so the Arduino 5V power should be fine.
//
//    FILE: HX_read_median_average.ino
//  AUTHOR: Rob Tillaart
// PURPOSE: HX711 demo
//     URL: https://github.com/RobTillaart/HX711
#include "HX711.h"
HX711 scale;
//  adjust pins if needed
uint8_t dataPin = 6;
uint8_t clockPin = 7;
uint32_t start, stop;
volatile float f;
void setup()
{
  Serial.begin(115200);
  Serial.println(__FILE__);
  Serial.print("HX711_LIB_VERSION: ");
  Serial.println(HX711_LIB_VERSION);
  Serial.println();
  scale.begin(dataPin, clockPin);
  //  TODO find a nice solution for this calibration..
  //  load cell factor 20 KG
  //  scale.set_scale(127.15);
  //  load cell factor 5 KG
  scale.set_scale(0.420);
  //  reset the scale to zero = 0
  scale.tare();
  Serial.println("\nPERFORMANCE");
  start = micros();
  f = 0;
  for (int i = 0; i < 10; i++)
  {
    f = scale.read();
  }
  stop = micros();
  Serial.print("10x read_medavg() = ");
  Serial.println(stop - start);
  Serial.print("  VAL: ");
  Serial.println(f, 2);
}
void loop()
{
  //  continuous scale once per second
  f = scale.read();
  Serial.println(f);
  delay(1000);
}
//  -- END OF FILE --