#include "HX711_ADC.h"
#include <LiquidCrystal_I2C.h>
// 创建HX711对象,指定数据引脚(DOUT)和时钟引脚(PD_SCK)
HX711_ADC LoadCell(2, 3);
// 初始化LCD,地址为0x27,尺寸为16x2字符
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// 开始串行通信,用于调试信息输出
Serial.begin(9600);
// 初始化HX711模块
LoadCell.begin();
// 根据你的传感器设置校准因子(此值需要根据实际情况调整)
LoadCell.setCalFactor(420.0); // 示例值,需根据实际砝码测试调整
// 去皮操作,将当前重量设为零点
LoadCell.tare();
// 初始化LCD
lcd.init();
lcd.backlight();
lcd.clear();
// 显示启动信息
lcd.setCursor(0, 0);
lcd.print("Weighing Scale");
delay(1000);
lcd.clear();
}
void loop() {
// 更新HX711的数据
LoadCell.update();
// 获取重量读数(假设单位为克),然后转换为千克
float weightGrams = LoadCell.getData(); // 或者使用 getGram() 方法获取克数
float weightKg = weightGrams / 1000.0; // 转换为千克
// 打印重量读数到串口监视器(用于调试)
Serial.print("Weight: ");
Serial.print(weightKg);
Serial.println(" kg");
// 在LCD上显示重量读数
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Weight:");
lcd.setCursor(0, 1);
lcd.print(weightKg, 2); // 保留两位小数
lcd.print(" kg");
delay(500); // 每半秒更新一次
}