//Carrega a biblioteca do LCD
#include <LiquidCrystal.h>
#include "HX711.h"
#define DT 3
#define SCK 2
#define LED_VERMELHO 13
//Inicializa o LCD
LiquidCrystal lcd(12, 11, 10, 9, 8, 7); // pinos do arduino
HX711 escala;
void setup()
{
Serial.begin(115200);
while(!Serial);
Serial.println("Iniciando...");
//Define o LCD com 16 colunas e 2 linhas
lcd.begin(16, 2);
//Inicializa a célula de carga
escala.begin(DT, SCK);
//Define o pino do LED como saída
pinMode(LED_VERMELHO, OUTPUT);
//Mostra informacoes no display
lcd.setCursor(0,0);
lcd.print("Fadas Eletricas");
lcd.setCursor(0,1);
lcd.print("Peso :");
escala.set_scale(-270800.0); //Adjust to this calibration factor
Serial.print("Reading: ");
Serial.print(escala.get_units(), 0);
Serial.print(" kg"); //Change this to kg and re-adjust the calibration
}
void loop(){
// Lê o peso da célula de carga
float peso = escala.get_units(10); // Média de 10 leituras
// Verifica se o peso foi lido corretamente
if (isnan(peso)) {
lcd.setCursor(6, 1);
lcd.print("Erro ");
} else {
// Verifica se o peso ultrapassa 2 kg
if (peso > 20) { // 2 kg em gramas
digitalWrite(LED_VERMELHO, HIGH); // Acende o LED vermelho
lcd.setCursor(6, 1);
lcd.print("Peso Maximo");
} else {
digitalWrite(LED_VERMELHO, LOW); // Apaga o LED vermelho
lcd.setCursor(6, 1);
lcd.print(peso - 5.7, 1); // Exibe o peso com 1 casa decimal
lcd.print(" g ");
}
}
delay(1000); // Aguarda 1 segundo antes da próxima leitura
}