Hello! I am making a weight measure with 4 load cell (200kg), HX711 and Arduíno UNO, but is much instable, when I move the weight change a lot. What I can solve this problem?
/*******************************************************************************
* Balanca Digital (v1.0)
*
* Este codigo utiliza uma celula de carga com o modulo HX711 para realizar a
* leitura do peso aplicado para, no diplay LCD, apresentar o valor em kg medido
* pelo sistema.
*
* Copyright 2019 RoboCore.
* Escrito por Giovanni de Castro (11/04/2019).
* Creditos - Bogde - GitHub library
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version (<https://www.gnu.org/licenses/>).
*******************************************************************************/
//adiciona as bibliotecas ao codigo
#include <HX711.h>
#include <Wire.h>
//#include <LiquidCrystal_I2C.h>
//LiquidCrystal_I2C lcd(0x20,16,2); //endereçamento do LCD
//configuracao dos pinos para o modulo HX711
const int PINO_DT = 3;
const int PINO_SCK = 2;
//declaracao do intervalo de espera
const int TEMPO_ESPERA = 500;
HX711 escala; //declaracao do objeto ESCALA na classe HX711 da biblioteca
const int FATOR_CALIBRACAO = -3090; //esse valor deve ser alterado para o valor de calibracao obtido com o outro codigo
void setup ()
{
Serial.begin(9600);
//mensagens do LCD
//lcd.begin(); //inicializacao do display
//lcd.backlight(); // ligacao do backlight do LCD
Serial.print(" ");
Serial.print("RoboCore");
delay(TEMPO_ESPERA);
escala.begin (PINO_DT, PINO_SCK); //inicializacao e definicao dos pinos DT e SCK dentro do objeto ESCALA
escala.tare(); //zera a escala
escala.set_scale(FATOR_CALIBRACAO); //ajusta a escala para o fator de calibracao
}
void loop ()
{
//verifica se o modulo esta pronto para realizar leituras
if (escala.is_ready())
{
//mensagens de leitura no monitor serial
Serial.print(" Peso: ");
Serial.print(escala.get_units(), 1); //retorna a leitura da variavel escala com a unidade quilogramas
Serial.print(" kg");
}
else
{
Serial.print(" Aguarde . . . ");
}
delay(TEMPO_ESPERA); //intervalo de espera para leitura
// lcd.clear();
}