การวัดน้ำหนักอย่างแม่นยำเป็นสิ่งจำเป็นในโครงการต่าง ๆ ตั้งแต่เครื่องชั่งดิจิตอลไปจนถึงการใช้งานอุตสาหกรรม ด้วยการเชื่อมต่อเซลล์โหลดกับแอมพลิฟายเออร์ HX711 และ Arduino คุณสามารถสร้างระบบการวัดน้ำหนักที่แม่นยำและเชื่อถือได้ คู่มือนี้จะนำคุณผ่านส่วนประกอบการเดินสายการเข้ารหัสและการสอบเทียบที่จำเป็นในการตั้งค่าระบบการวัดน้ำหนักของคุณเอง
วัสดุที่จำเป็น
- Arduino Board (เช่น Uno, Nano)
- โหลดเซลล์ (โดยทั่วไปความจุ 5 กก. หรือ 10 กก.)
- โมดูลแอมพลิฟายเออร์เซลล์โหลด HX711
- เครื่องหั่นขนมปังและสายจัมเปอร์
- สาย USB สำหรับการเขียนโปรแกรม Arduino
- ตัวเลือก: จอแสดงผล LCD สำหรับการแสดงการอ่านน้ำหนัก
การเดินสายส่วนประกอบ
การเชื่อมต่อเซลล์โหลดกับ HX711 และจากนั้นไปยัง Arduino นั้นตรงไปตรงมา เซลล์โหลดมักจะมีสี่สาย: สีแดง (VCC), สีดำ (GND), สีขาว (data-) และสีเขียว (ข้อมูล+) ทำตามขั้นตอนเหล่านี้สำหรับการเดินสาย:
-
เชื่อมต่อโหลดเซลล์กับ HX711:
- สายสีแดงถึง E+ บน HX711
- สายสีดำถึง e- บน hx711
- สายสีขาวถึง A- บน HX711
- สายสีเขียวถึง A+ บน HX711
-
เชื่อมต่อ HX711 กับ Arduino:
- VCC ของ HX711 ถึง 5V บน Arduino
- Gnd ของ HX711 ถึง GND บน Arduino
- DT (ข้อมูล) ของ HX711 ถึง Digital Pin 2 บน Arduino
- SCK (นาฬิกา) ของ HX711 ถึง Digital Pin 3 บน Arduino
การเขียนโค้ด Arduino
ในการสื่อสารกับ HX711 คุณจะต้องใช้ไลบรารีที่ทำให้การโต้ตอบง่ายขึ้น ที่ HX711 ห้องสมุดโดย Bogdan Necula เป็นตัวเลือกยอดนิยม ติดตั้งผ่าน ARDUINO Library Manager ก่อนดำเนินการต่อ
นี่คือรหัสตัวอย่างเพื่อให้คุณเริ่มต้น:
#include <HX711.h>
// Define HX711 circuit connections
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
HX711 scale;
void setup() {
Serial.begin(9600);
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
Serial.println("HX711 Calibration");
// Optional: tare the scale to zero
scale.tare();
}
void loop() {
if (scale.is_ready()) {
long reading = scale.read();
Serial.print("Raw reading: ");
Serial.println(reading);
// Convert reading to weight
float weight = scale.get_units(10); // 10 readings averaged
Serial.print("Weight: ");
Serial.print(weight);
Serial.println(" kg");
} else {
Serial.println("HX711 not found.");
}
delay(500);
}
การสอบเทียบ
การวัดที่แม่นยำต้องการการสอบเทียบสเกลเพื่อบัญชีสำหรับความแตกต่างใด ๆ นี่คือวิธีที่คุณสามารถปรับเทียบเซลล์โหลดของคุณ:
- อัปโหลดรหัสด้านบนไปยัง Arduino ของคุณและเปิดมอนิเตอร์อนุกรม
- ไม่มีน้ำหนักในเซลล์โหลดให้สังเกตการอ่านดิบ นี่คือไฟล์ เท่ ค่า.
- วางน้ำหนักที่รู้จักบนเซลล์โหลดและสังเกตการอ่านดิบใหม่
- คำนวณปัจจัยการสอบเทียบโดยใช้สูตร:
Calibration Factor = (Raw Reading - Tare) / Known Weight
เมื่อคุณมีปัจจัยการสอบเทียบแล้วให้อัปเดตรหัสของคุณเพื่อใช้:
#define CALIBRATION_FACTOR -7050 // Example value
void setup() {
Serial.begin(9600);
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
scale.set_scale(CALIBRATION_FACTOR);
scale.tare();
Serial.println("HX711 Calibration");
}
void loop() {
if (scale.is_ready()) {
float weight = scale.get_units(10);
Serial.print("Weight: ");
Serial.print(weight);
Serial.println(" kg");
} else {
Serial.println("HX711 not found.");
}
delay(500);
}
ทดสอบการตั้งค่าของคุณ
หลังจากการสอบเทียบให้ทำการทดสอบหลายครั้งด้วยน้ำหนักที่รู้จักกันเพื่อให้แน่ใจว่ามีความแม่นยำ หากมีความคลาดเคลื่อนให้ปรับปัจจัยการสอบเทียบตาม จำเป็นอย่างยิ่งที่จะต้องตรวจสอบให้แน่ใจว่าเซลล์โหลดวางอยู่บนพื้นผิวที่มั่นคงและการเดินสายมีความปลอดภัยเพื่อป้องกันการอ่านที่ผันผวน
เพิ่มโครงการของคุณ
เพื่อให้ระบบการวัดน้ำหนักของคุณใช้งานง่ายขึ้นให้พิจารณาเพิ่มจอแสดงผล LCD เพื่อแสดงน้ำหนักแบบเรียลไทม์ นอกจากนี้คุณยังสามารถรวมคุณสมบัติเช่นการบันทึกข้อมูลการส่งสัญญาณไร้สายหรือเชื่อมต่อกับเซ็นเซอร์อื่น ๆ เพื่อการวัดที่ครอบคลุมมากขึ้น
บทสรุป
การเชื่อมต่อเซลล์โหลดและ HX711 กับ Arduino เป็นโครงการที่จัดการได้ซึ่งให้การวัดน้ำหนักที่แม่นยำเหมาะสำหรับการใช้งานต่างๆ โดยทำตามขั้นตอนที่ระบุไว้ในคู่มือนี้คุณสามารถตั้งค่าระดับดิจิตอลของคุณเองหรือรวมการตรวจจับน้ำหนักเข้ากับโครงการที่ซับซ้อนมากขึ้น ด้วยการสอบเทียบที่เหมาะสมและการเชื่อมต่อที่เสถียรระบบของคุณจะให้ข้อมูลที่เชื่อถือได้สำหรับความต้องการของคุณ