#include "HX710.h"
const int DOUT = 4;
const int SCLK = 3;
const long int minRaw = 0; // calibração do sensor de pressão em nível mínimo
const long int maxRaw = 1050; // calibração do sensor de pressão em nível máximo
float peso;
int tempoAmostragem = 200;
volatile unsigned long previousMillis = 0;
HX710 ps;
void setup() {
Serial.begin(57600);
ps.initialize(SCLK, DOUT);
}
void loop() {
unsigned long currentMillis = millis();
while (!ps.isReady());
int32_t pressureSensorRaw;
ps.readAndSelectNextData(HX710_DIFFERENTIAL_INPUT_40HZ);
pressureSensorRaw = ps.getLastDifferentialInput();
peso = map(abs(pressureSensorRaw), minRaw, maxRaw, 0, 5000);
peso = peso/1000;
if (currentMillis - previousMillis >= tempoAmostragem) {
previousMillis = currentMillis;
Serial.print("Valor Bruto: ");
Serial.println(pressureSensorRaw);
Serial.print("peso: ");
Serial.print(peso);
Serial.println(" Kg");
}
}