// Projeto 26 - Balança digital com botão "TARAR"
#include <HX711_ADC.h>
#include <Wire.h>
HX711_ADC LoadCell(4, 5);
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // ou 0x3F
int tararBTN = 6;
int estadoBTN;
int a = 0;
float b = 0;
float massa;
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.clear();
Serial.println("Aguarde...");
lcd.setCursor(0,0);
lcd.print("Aguarde...");
delay(100);
pinMode (tararBTN, INPUT);
LoadCell.begin();
LoadCell.start(1000); //1000 ms para estabilizar a balança.
LoadCell.setCalFactor(1914); //Calibre a sua BALANÇA com uma massa de 100 g e altere o valor de acordo com as leituras.
Serial.println("Balança Digital");
Serial.print("Valor máximo 1 kg");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Balanca Digital");
lcd.setCursor(0,1);
lcd.print("Maximo 1 kg");
delay(3000);
lcd.clear();
}
void loop()
{
LoadCell.update();
massa = LoadCell.getData();
Serial.print(massa, 1);
Serial.println(" g");
lcd.setCursor(0,0);
lcd.print("Massa em g");
lcd.setCursor(0,1);
lcd.print(massa, 1);
lcd.print(" ");
if (massa>=1000) // 1000 g
{
massa=0;
Serial.println("Máximo 1000 g");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("Maximo 1000 g");
delay(200);
}
estadoBTN = digitalRead (tararBTN);
if (estadoBTN == 1)
{
Serial.println("A tarar...");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("A tarar...");
LoadCell.start(1000);
lcd.setCursor(0,1);
lcd.print(" ");
}
}