วิธีการเชื่อมต่อเซลล์โหลด & HX711 กับ Arduino สำหรับการวัดน้ำหนัก

How to Interface a Load Cell & HX711 with Arduino for Weight Measurement

การวัดน้ำหนักอย่างแม่นยำเป็นสิ่งจำเป็นในโครงการต่าง ๆ ตั้งแต่เครื่องชั่งดิจิตอลไปจนถึงการใช้งานอุตสาหกรรม ด้วยการเชื่อมต่อเซลล์โหลดกับแอมพลิฟายเออร์ HX711 และ Arduino คุณสามารถสร้างระบบการวัดน้ำหนักที่แม่นยำและเชื่อถือได้ คู่มือนี้จะนำคุณผ่านส่วนประกอบการเดินสายการเข้ารหัสและการสอบเทียบที่จำเป็นในการตั้งค่าระบบการวัดน้ำหนักของคุณเอง

วัสดุที่จำเป็น

  • Arduino Board (เช่น Uno, Nano)
  • โหลดเซลล์ (โดยทั่วไปความจุ 5 กก. หรือ 10 กก.)
  • โมดูลแอมพลิฟายเออร์เซลล์โหลด HX711
  • เครื่องหั่นขนมปังและสายจัมเปอร์
  • สาย USB สำหรับการเขียนโปรแกรม Arduino
  • ตัวเลือก: จอแสดงผล LCD สำหรับการแสดงการอ่านน้ำหนัก

การเดินสายส่วนประกอบ

การเชื่อมต่อเซลล์โหลดกับ HX711 และจากนั้นไปยัง Arduino นั้นตรงไปตรงมา เซลล์โหลดมักจะมีสี่สาย: สีแดง (VCC), สีดำ (GND), สีขาว (data-) และสีเขียว (ข้อมูล+) ทำตามขั้นตอนเหล่านี้สำหรับการเดินสาย:

  1. เชื่อมต่อโหลดเซลล์กับ HX711:
    • สายสีแดงถึง E+ บน HX711
    • สายสีดำถึง e- บน hx711
    • สายสีขาวถึง A- บน HX711
    • สายสีเขียวถึง A+ บน HX711
  2. เชื่อมต่อ 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);
}

การสอบเทียบ

การวัดที่แม่นยำต้องการการสอบเทียบสเกลเพื่อบัญชีสำหรับความแตกต่างใด ๆ นี่คือวิธีที่คุณสามารถปรับเทียบเซลล์โหลดของคุณ:

  1. อัปโหลดรหัสด้านบนไปยัง Arduino ของคุณและเปิดมอนิเตอร์อนุกรม
  2. ไม่มีน้ำหนักในเซลล์โหลดให้สังเกตการอ่านดิบ นี่คือไฟล์ เท่ ค่า.
  3. วางน้ำหนักที่รู้จักบนเซลล์โหลดและสังเกตการอ่านดิบใหม่
  4. คำนวณปัจจัยการสอบเทียบโดยใช้สูตร:

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 เป็นโครงการที่จัดการได้ซึ่งให้การวัดน้ำหนักที่แม่นยำเหมาะสำหรับการใช้งานต่างๆ โดยทำตามขั้นตอนที่ระบุไว้ในคู่มือนี้คุณสามารถตั้งค่าระดับดิจิตอลของคุณเองหรือรวมการตรวจจับน้ำหนักเข้ากับโครงการที่ซับซ้อนมากขึ้น ด้วยการสอบเทียบที่เหมาะสมและการเชื่อมต่อที่เสถียรระบบของคุณจะให้ข้อมูลที่เชื่อถือได้สำหรับความต้องการของคุณ

แสดงความคิดเห็น

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.