#include <Wire.h> // digunakan untuk komunikasi I2C
#include <LiquidCrystal_I2C.h> // untuk mengendalikan layar LCD melalui I2C
#include <HX711.h> // untuk berinteraksi dengan load cell amplifier tipe HX711
// Inisialisasi objek untuk LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD: 0x27, 16 kolom, 2 baris
// Inisialisasi objek untuk HX711
const int LOADCELL_DOUT_PIN = 13; // ditetapkan untuk berkomunikasi dengan HX711
const int LOADCELL_SCK_PIN = 12;
HX711 scale; // yang akan digunakan untuk berinteraksi dengan load cell
void setup() {
Serial.begin(9600); // Memulai komunikasi serial dengan baud rate 9600. Ini berguna untuk debugging dan melihat output data melalui serial monitor di Arduino IDE.
lcd.begin(16, 2); // Memulai komunikasi dengan layar LCD, mengatur ukuran layar menjadi 16 kolom dan 2 baris.
lcd.print("Berat:"); // Menampilkan teks "Berat:" pada baris pertama layar LCD
lcd.setCursor(0, 1); // Memindahkan kursor ke awal baris kedua untuk menampilkan berat nanti.
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
scale.set_scale(420.0); // Kalibrasi untuk faktor skala
scale.tare(); // Nolkan beban awal (misal: taruh beban kosong pada Load Cell)
}
void loop() {
float berat = scale.get_units(); // Mendapatkan berat dari Load Cell
lcd.setCursor(6, 0);
lcd.print(berat, 1); // Tampilkan nilai berat dengan 1 angka di belakang koma
lcd.print(" kg");
}