- المكونات المطلوبة لبناء ميزان اردوينو:
- خلية الحمل ووحدة استشعار الوزن HX711:
- شرح الدائرة:
- شرح العمل:
- كود ميزان اردوينو:
سنقوم اليوم ببناء آلة خفيفة من Arduino ، من خلال ربط Load Cell و HX711 Weight Sensor مع Arduino. لقد رأينا آلات الوزن في العديد من المتاجر ، حيث تعرض الآلة الوزن فقط عن طريق وضع عنصر على منصة الوزن. لذلك نحن هنا نبني نفس آلة الوزن باستخدام خلايا Arduino و Load ، بسعة تصل إلى 40 كجم. يمكن زيادة هذا الحد باستخدام خلية تحميل ذات سعة أعلى.
المكون الرئيسي المطلوب لبناء ميزان Arduino هذا هو جهاز استشعار يمكنه تحويل الوزن إلى إشارة كهربائية مكافئة. يُطلق على هذا المستشعر اسم خلية التحميل ، لذلك في هذا المشروع ، سنستخدم خلية التحميل هذه كمستشعر وزن Arduino. لقد استخدمنا أيضًا نفس خلية التحميل في عدد قليل من المشاريع الأخرى ، مثل آلة وزن البيع بالتجزئة المحمولة من Arduino ، ومقياس Raspberry pi Weighing ، وما إلى ذلك ، يمكنك أيضًا التحقق منها إذا كنت مهتمًا.
المكونات المطلوبة لبناء ميزان اردوينو:
- اردوينو اونو
- خلية الحمل (40 كجم)
- HX711 تحميل وحدة مكبر للصوت خلية
- 16x2 LCD
- توصيل الأسلاك
- كابل USB
- اللوح
- براغي الصواميل والإطار والقاعدة
خلية الحمل ووحدة استشعار الوزن HX711:
خلية الحمل عبارة عن محول طاقة يحول القوة أو الضغط إلى خرج كهربائي. يتناسب حجم هذا الناتج الكهربائي طرديًا مع القوة المطبقة. تحتوي خلايا الحمل على مقياس ضغط ، والذي يتشوه عند الضغط عليه. ثم يولد مقياس الإجهاد إشارة كهربائية عند التشوه حيث تتغير مقاومته الفعالة عند التشوه. تتكون خلية الحمل عادة من أربعة مقاييس إجهاد في تكوين جسر ويتستون. تأتي خلية الحمل في نطاقات مختلفة مثل 5 كجم ، 10 كجم ، 100 كجم وأكثر ، استخدمنا هنا خلية الحمل ، والتي يمكن أن يصل وزنها إلى 40 كجم.
الآن الإشارات الكهربائية التي تولدها خلية الحمل هي في بضعة مللي فولتات ، لذلك تحتاج إلى مزيد من التضخيم بواسطة بعض مكبرات الصوت ومن ثم يأتي مستشعر الوزن HX711 في الصورة. تحتوي وحدة مستشعر الوزن HX711 على شريحة HX711 ، وهي عبارة عن محول A / D عالي الدقة 24 (محول تناظري إلى رقمي). يحتوي HX711 على قناتين إدخال تمثيليتين ويمكننا الحصول على مكاسب تصل إلى 128 عن طريق برمجة هذه القنوات. لذلك تضخم وحدة HX711 الناتج الكهربائي المنخفض لخلايا التحميل ثم يتم تغذية هذه الإشارة المضخمة والمُحوّلة رقميًا في Arduino لاشتقاق الوزن.
يتم توصيل خلية الحمل بمضخم خلية الحمل HX711 باستخدام أربعة أسلاك. هذه الأسلاك الأربعة هي الأحمر والأسود والأبيض والأخضر / الأزرق. قد يكون هناك اختلاف طفيف في ألوان الأسلاك من وحدة إلى أخرى. أدناه تفاصيل الاتصال والرسم البياني:
- السلك الأحمر متصل بـ E +
- السلك الأسود متصل بـ E-
- WHITE Wire متصل بـ A-
- السلك الأخضر متصل بـ A +
تحديد خلية الحمل بالمنصة والقاعدة:
هذه الخطوة اختيارية ويمكنك وضع الأوزان مباشرة على خلية التحميل بدون منصة ويمكنك ببساطة تثبيتها دون تثبيتها بأي قاعدة ، ولكن من الأفضل إرفاق منصة لوضع الأشياء الكبيرة عليها وتثبيتها على قاعدة بحيث تتوقف. لذلك نحن هنا بحاجة إلى صنع إطار أو منصة لوضع الأشياء لقياس الوزن. مطلوب أيضًا قاعدة لتثبيت خلية التحميل فوقها باستخدام الصواميل والمسامير. استخدمنا هنا الورق المقوى الصلب للإطار لوضع الأشياء فوقه ولوح خشبي كقاعدة. الآن قم بإجراء الاتصالات كما هو موضح في مخطط الدائرة وأنت على استعداد للذهاب.
شرح الدائرة:
اتصالات لهذا المشروع سهلة ويرد أدناه التخطيطي. 16x2 LCD دبابيس RS و EN و d4 و d5 و d6 و d7 متصلة بأرقام الدبوس 8 و 9 و 10 و 11 و 12 و 13 من Arduino على التوالي. تتصل دبابيس DT و SCK للوحدة HX711 مباشرة بدبابيس Arduino A0 و A1. تم بالفعل شرح اتصالات خلية التحميل مع الوحدة النمطية HX711 مسبقًا كما هو موضح في الرسم التخطيطي للدائرة أدناه.
شرح العمل:
مبدأ العمل في مشروع قياس وزن الأردوينو هذا سهل. قبل الدخول في التفاصيل ، علينا أولاً معايرة هذا النظام لقياس الوزن الصحيح. عندما يقوم المستخدم بتشغيله ، سيبدأ النظام تلقائيًا في المعايرة. وإذا أراد المستخدم معايرتها يدويًا ، فاضغط على زر الضغط. لقد أنشأنا وظيفة معايرة باطلة () لأغراض المعايرة ، تحقق من الكود أدناه.
للمعايرة ، انتظر مؤشر LCD لوضع 100 جرام فوق خلية التحميل كما هو موضح في الصورة أدناه. عندما تعرض شاشة LCD رسالة "ضع 100 جم" ، ضع وزن 100 جم فوق خلية التحميل وانتظر. بعد بضع ثوان ستنتهي عملية المعايرة. بعد المعايرة ، يمكن للمستخدم وضع أي وزن (40 كجم كحد أقصى) فوق خلية التحميل ويمكنه الحصول على القيمة عبر شاشة LCD بالجرام.
في هذا المشروع ، استخدمنا Arduino للتحكم في العملية بأكملها. تستشعر خلية الحمل الوزن وتوفر جهدًا تناظريًا كهربائيًا لوحدة مضخم الحمل HX711. HX711 هو ADC 24 بت ، والذي يضخم ويحول رقميًا إخراج خلية التحميل. ثم يتم تغذية هذه القيمة المضخمة إلى Arduino. الآن يحسب Arduino ناتج HX711 ويحول ذلك إلى قيم الوزن بالجرام ويظهره على شاشة LCD. A -زر يستخدم لمعايرة النظام. لقد كتبنا برنامج Arduino للعملية بأكملها ، تحقق من الكود والفيديو التجريبي في نهاية هذا البرنامج التعليمي.
كود ميزان اردوينو:
جزء البرمجة من هذا المشروع معقد بعض الشيء للمبتدئين. في هذا المشروع ، لم نستخدم أي مكتبة لربط مستشعر الحمل HX711 مع Arduino. لقد اتبعنا للتو ورقة بيانات HX711 وملاحظات التطبيق. على الرغم من وجود بعض المكتبات لهذا الغرض ، حيث تحتاج فقط إلى تضمين تلك المكتبة ويمكنك الحصول على الوزن باستخدام سطر واحد من التعليمات البرمجية.
بادئ ذي بدء ، قمنا بتضمين ملف رأس لشاشات الكريستال السائل وحددنا المسامير لنفسه. ولضغط الزر أيضًا. ثم أعلن عن بعض المتغيرات لغرض الحساب.
#تضمن
بعد ذلك ، قمنا بإنشاء الوظيفة أدناه لقراءة البيانات من الوحدة النمطية HX711 وإرجاع مخرجاتها.
readCount الطويل بدون توقيع (باطل) {عدد طويل بدون توقيع ؛ حرف غير موقّع ؛ pinMode (DT ، الإخراج) ؛ الكتابة الرقمية (DT ، عالية) ؛ الكتابة الرقمية (SCK ، منخفضة) ؛ العد = 0 ؛ pinMode (DT ، INPUT) ؛ بينما (digitalRead (DT)) ؛ لـ (i = 0؛ i <24؛ i ++) {digitalWrite (SCK، HIGH) ؛ العد = العد << 1 ؛ الكتابة الرقمية (SCK ، منخفضة) ؛ إذا (digitalRead (DT)) Count ++ ؛ } digitalWrite (SCK، HIGH)؛ العدد = العدد ^ 0x800000 ؛ الكتابة الرقمية (SCK ، منخفضة) ؛ العودة (العد) ؛ }
بعد ذلك ، قمنا بتهيئة شاشة LCD وإعطاء توجيهات لدبابيس الإدخال والإخراج في إعداد باطل ().
إعداد باطل () {Serial.begin (9600) ؛ pinMode (SCK ، الإخراج) ؛ pinMode (sw، INPUT_PULLUP) ؛ lcd.begin (16 ، 2) ؛ lcd.print ("الوزن") ؛ lcd.setCursor (0،1) ؛ lcd.print ("القياس") ؛ تأخير (1000) ؛ lcd.clear () ؛ معايرة () ؛ }
بعد ذلك في وظيفة الحلقة الفارغة () ، قرأنا البيانات من وحدة HX711 وقمنا بتحويل هذه البيانات إلى وزن (جرام) وأرسلناها إلى شاشة LCD.
حلقة باطلة () {عدد = readCount () ، int w = (((عينة العد) / val] -2 * ((عينة العد) / val)) ؛ Serial.print ("الوزن:") ؛ Serial.print ((int) w) ؛ Serial.println ("g") ؛ lcd.setCursor (0،0) ؛ lcd.print ("الوزن") ؛ lcd.setCursor (0،1) ؛ lcd.print (ث) ؛ lcd.print ("g") ؛ إذا (digitalRead (sw) == 0) {val = 0 ؛ عينة = 0 ؛ ث = 0 ؛ العد = 0 ؛ معايرة () ؛ }}
قبل ذلك ، أنشأنا وظيفة معايرة حيث قمنا بمعايرة النظام عن طريق وضع وزن 100 جرام فوق خلية الحمل.
معايرة باطلة () {lcd.clear () ؛ lcd.print ("معايرة…") ؛ lcd.setCursor (0،1) ؛ lcd.print ("الرجاء الانتظار…") ؛ لـ (int i = 0 ؛ i <100 ؛ i ++) {count = readCount () ؛ العينة + = العد ؛ Serial.println (عدد) ؛ }……………….
لذلك تعلمنا هنا الواجهة الأساسية لخلية الحمل ومستشعر الوزن HX11 مع Arduino لقياس الأوزان. في دروسنا النصية ، سننشئ بعض التطبيقات بناءً على قياس الوزن مثل الحاوية الذكية والبوابة التلقائية وما إلى ذلك