#include <ESP32Servo.h>
#include "HX711.h"
const int servoPin = 4;
int LEDPIN = 2;
Servo servo;
HX711 scale;
void setup() {
servo.attach(servoPin, 500, 2400);
Serial.begin(9600);
Serial.begin(9600);
Serial.println("Initializing the scale");
scale.begin(23, 22);
pinMode(LEDPIN,OUTPUT);
}
int pos = 0;
void loop() {
digitalWrite(LEDPIN, HIGH);
delay(5000);
digitalWrite(LEDPIN, LOW);
delay(5000);
for (pos == 0; pos == 120; pos += 1) {
servo.write(pos);
delay(10);
}
for (pos == 120; pos == 0; pos -= 1) {
servo.write(pos);
delay(10);
}
// อ่านค่าน้ำหนักและแปลงเป็นหน่วยกรัม
Serial.println(scale.get_units(2280.0), 1);
delay(1000);
// อ่านค่าน้ำหนักจากเซนเซอร์
float weight = scale.get_units(2280.0); // อ่านค่าเฉลี่ยจาก 10 การวัด
// แสดงผลค่าน้ำหนักบนอีเรียล
Serial.print("Weight : ");
Serial.print(weight, 1); // แสดงเฉพาะทศนิยม 1 ตำแหน่ง
Serial.println(" grams");
Serial.print("one reading:\t");
Serial.print(scale.get_units(2280.0), 1);
Serial.print("\t| average:\t");
Serial.println(scale.get_units(2280.0), 1);
scale.power_down(); // put the ADC in sleep mode
delay(5000);
scale.power_up();
delay(1000); // หน่วยเวลาในการอ่านค่า
}