#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <HX711.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define DOUT 2 // Pin DT HX711
#define CLK 3 // Pin SCK HX711
#define BUZZER_PIN 8 // Pin Buzzer
#define LED_PIN 5 // Pin LED
HX711 scale;
void setup() {
Serial.begin(9600);
scale.begin(DOUT, CLK);
scale.set_scale();
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
lcd.init();
lcd.backlight();
lcd.init();
lcd.backlight();
lcd.setCursor(1,0);
lcd.print("SENSOR BEBAN");
lcd.setCursor(0,1);
lcd.print(" REVIADY ");
delay(3000);
}
void loop() {
scale.set_scale();
float berat = scale.get_units(10) / 420.00;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Alat Timbangan");
lcd.setCursor(0, 1);
lcd.print("Berat: ");
lcd.setCursor(12, 1);
lcd.print("Kg");
lcd.setCursor(7, 1);
lcd.print(berat, 2);
if (berat > 30) {
digitalWrite(BUZZER_PIN, HIGH);
digitalWrite(LED_PIN, HIGH);
tone(8, 1200, 250);
delay(250);
digitalWrite(LED_PIN, LOW);
delay(250);
} else {
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(LED_PIN, LOW);
noTone(8);
}
delay(1000);
}