#include <LiquidCrystal.h>
#include <HX711.h>
#define echoPin 7 // Ultrasonic Sensor Echo pin
#define trigPin 8 // Ultrasonic Sensor Trigger pin
#define DOUT 3 // HX711 circuit wiring
#define CLK 2 // HX711 circuit wiring
#define calibration_factor 210000 // Calibration factor for load cell
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCD pins
HX711 scale;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
scale.begin(DOUT, CLK);
scale.set_scale(calibration_factor);
}
void loop() {
long duration, distance;
// Ultrasonic sensor readings
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
// HX711 load cell readings
scale.tare();
float weight = scale.get_units();
// Display readings on LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distance: ");
lcd.print(distance);
lcd.print(" cm");
lcd.setCursor(0, 1);
lcd.print("Weight: ");
lcd.print(weight);
lcd.print(" g");
delay(500);
}