الحصول على تسليم مجانا على جميع الطلبات أكثر من 20 جنيه!

كيفية توصيل خلية تحميل و HX711 مع Arduino لقياس الوزن

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

يعد قياس الوزن بدقة أمرًا ضروريًا في مشاريع متنوعة، بدءًا من الموازين الرقمية وصولًا إلى التطبيقات الصناعية. من خلال توصيل جهاز خلية تحميل مع HX711 باستخدام مُضخِّم وArduino، يمكنك إنشاء نظام قياس وزن دقيق وموثوق. سيرشدك هذا الدليل عبر المكوّنات والتوصيلات والبرمجة والمعايرة اللازمة لإعداد نظام قياس الوزن الخاص بك.

المواد اللازمة

  • لوحة Arduino (مثل Uno، Nano)
  • خلية تحميل (عادةً بسعة 5kg أو 10kg)
  • HX711 خلية تحميل وحدة مكبر الصوت
  • لوح تجارب وأسلاك توصيل
  • كابل USB لبرمجة Arduino
  • اختياري: شاشة LCD لعرض قراءات الوزن

توصيل المكوّنات

توصيل الـ خلية تحميل إلى الـ HX711 ومن ثم إلى Arduino هو أمر مباشر. الـ خلية تحميل عادةً ما يحتوي على أربعة أسلاك: الأحمر (VCC)، والأسود (GND)، والأبيض (DATA-)، والأخضر (DATA+). اتبع الخطوات التالية للتوصيل:

  1. قم بتوصيل خلية الحمل إلى HX711:
    • سلك أحمر إلى E+ على HX711
    • السلك الأسود إلى E- على HX711
    • السلك الأبيض إلى A- على HX711
    • السلك الأخضر إلى A+ على HX711
  2. اتصال HX711 إلى Arduino:
    • VCC الخاص بـ HX711 إلى 5V على Arduino
    • الأرضي لـ HX711 إلى GND على Arduino
    • DT (البيانات) الخاص بـ HX711 إلى الدبوس الرقمي 2 على Arduino
    • SCK (CLOCK) الخاص بـ HX711 إلى الدبوس الرقمي 3 على Arduino

برمجة Arduino

للتواصل مع الـ HX711، ستحتاج إلى استخدام مكتبة تُبسّط عمليات التفاعل. الـ HX711 المكتبة من Bogdan Necula خيار شائع. قم بتثبيتها عبر Arduino Library Manager قبل المتابعة.

إليك نموذج كود لتبدأ به:


#include <HX711.h>

// تحديد HX711 اتصالات الدارة
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 غير موجود.");
  }
  delay(500);
}

معايرة

تتطلب القياسات الدقيقة معايرة الميزان للتعويض عن أي فروقات. إليك كيفية معايرة جهازك خلية تحميل:

  1. حمّل الشفرة أعلاه إلى Arduino الخاص بك وافتح Serial Monitor.
  2. بدون أي وزن على الـ خلية تحميل، لاحظ القراءة الخام. هذا هو وزن العبوة قيمة.
  3. ضع وزناً معروفاً على ال خلية تحميل وملاحظة القراءة الخام الجديدة.
  4. احسب معامل المعايرة باستخدام الصيغة:

معامل المعايرة = (القراءة الخام - الوزن الفارغ) / الوزن المعروف

بمجرد حصولك على عامل المعايرة، حدّث الشيفرة لديك لاستخدامه:


#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 غير موجود.");
  }
  تأخير(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.

اترك تعليقًا