#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "HX711.h"
#define servo 9
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
HX711 scale;
Servo myservo;
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup()
{
Serial.begin(9600);
scale.begin(7, 6);
myservo.attach(9);
lcd.begin(16,2);
lcd.backlight();
}
void loop()
{
//ฟังก์ชันคำนวณ
float weightGrams = scale.get_units();
float L = weightGrams;
float W = L/420;
Serial.println(W);
//ฟังก์ชันLCD
lcd.clear();
lcd.setCursor(6,0);
lcd.print(W);
lcd.setCursor(10,0);
lcd.print("KG");
lcd.setCursor(6, 1);
if (W > 4.1 || W < 3.9)
{
lcd.print("NG");
}
else
{
lcd.print("OK");
}
//Servo
myservo.write(0);
if(W > 4.1 || W < 3.9)
{
myservo.write(180);
delay(5000);
myservo.write(0);
}
delay(500);
}