#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <HX711.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Inisialisasi LCD

#define DOUT  2 // Pin DT HX711
#define CLK  3  // Pin SCK HX711
#define LED_PIN 4 // Pin LED

HX711 scale;

void setup() {
  Serial.begin(9600);
  scale.begin(DOUT, CLK);
  scale.set_scale();

  
  pinMode(LED_PIN, OUTPUT);

  lcd.init();                      // mengenali LCD
  lcd.backlight();                 // mengaktifkan backlight
  lcd.setCursor(0, 0);             // Untuk menampilkan angka berat 
  lcd.print("BEBAN : ");           // untuk menampilkan tulisan BEBAN di LCD
}

void loop() {
  scale.set_scale(); // Mengulang Set faktor kalibrasi jika dibutuhkan
  float berat = scale.get_units(10) / 420.00; // Untuk menghitung berat dalam satuan yang dibutuhkan

  lcd.setCursor(7, 0);
  lcd.print(berat, 2); // untuk menampilkan berat di LCD dengan 2 angka 

  if (berat > 1) { // Jika berat lebih dari 1 dengan satuan (misalnya kg)
    digitalWrite(LED_PIN, HIGH);    // untuk menyalakan LED
    
  } else  {
    digitalWrite(LED_PIN, LOW);    // untuk mematikan LED

  }

  delay(1000); //memberikan jeda 
}