#include <HX711.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Definisikan pin
#define LOAD_CELL_DOUT_PIN 3
#define LOAD_CELL_SCK_PIN 2
#define IR_SENSOR_PIN 7
HX711 scale;
LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD I2C address, 16 kolom, 2 baris
void setup() {
// Inisialisasi komunikasi serial
Serial.begin(9600);
// Inisialisasi sensor IR
pinMode(IR_SENSOR_PIN, INPUT); //Marie Muhammad D400220107
// Inisialisasi Load Cell dan HX711
scale.begin(LOAD_CELL_DOUT_PIN, LOAD_CELL_SCK_PIN);
scale.set_scale(420.f); // Sesuaikan dengan nilai kalibrasi load cell Anda
scale.tare(); // Reset pembacaan ke 0 ketika tidak ada beban
// Inisialisasi LCD
lcd.begin(16, 2);
lcd.print("Menunggu objek...");
}
void loop() {
// Deteksi apakah ada objek pada sensor IR
int objectDetected = digitalRead(IR_SENSOR_PIN);
// Jika objek terdeteksi, mulai penimbangan
if (objectDetected == HIGH) {
long weight = scale.get_units(5); // Ambil rata-rata pembacaan load cell
// Tampilkan hasil pengukuran pada LCD
lcd.clear();
lcd.print("Berat: "); //Ahmad Wildann D400220021
lcd.print(weight);
lcd.print(" g");
} else {
// Jika tidak ada objek, tampilkan pesan
lcd.clear();
lcd.print("Tidak ada objek");
}
delay(500); // Penundaan agar LCD tidak terlalu cepat berganti
}
MARIE MUHAMMAD//D400220107