#include <HX711.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int ld_cell = 19;
const int ld_sck = 18;
HX711 scale;
// Alamat I2C LCD mungkin berbeda, pastikan sesuai dengan hardware Anda
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(115200);
scale.begin(ld_cell, ld_sck);
// Inisialisasi LCD
lcd.begin(16, 2);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Timbang siap...");
// Kalibrasi awal
scale.set_scale();
Serial.println("Tare ulang");
delay(5000);
scale.tare();
Serial.println("Tara selesai");
}
void loop() {
if (scale.is_ready()) {
// Baca berat dalam kilogram
float weight_kg = scale.get_units();
// Gunakan formula kalibrasi untuk menghitung pembacaan sensor dalam gram
// float weight_g = 381.5 * weight_kg - 10348.44;
float weight_g = weight_kg;
// Tampilkan berat di Serial Monitor
Serial.print("Berat: ");
Serial.print(weight_g);
Serial.println(" g");
// Tampilkan berat di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Berat:");
lcd.setCursor(0, 1);
lcd.print(weight_g, 2); // Menampilkan berat dengan 2 digit desimal
lcd.print(" g");
// Tunggu 1 detik sebelum pembaruan berikutnya
delay(1000);
} else {
Serial.println("Timbangan tidak siap");
}
}