#include "HX711.h"
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(128, 64, &Wire, -1);
HX711 scale;
uint16_t berat1 = 0;
void setup() {
Serial.begin(9600);
scale.begin(2, 3); // DT, SCK
scale.set_scale(); // Adjust to this calibration factor
scale.tare(); // Reset the scale to 0
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for (;;);
}
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.print("Init...");
display.display();
}
void loop() {
uint16_t berat = round(scale.get_units() * 50 / 21); // Convert to grams
if (berat != berat1) {
Serial.print("Berat: ");
Serial.println(berat);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println(F("Berat:"));
display.setCursor(0, 25);
display.print(berat / 1000.0, 2); // Convert to kg for display
display.println(F(" kg"));
display.display();
berat1 = berat;
}
}