آموزش راه اندازی ماژول لودسل (سنسور وزن) HX711 با آردوینو

فهرست مطالب

ویژگی های سنسور لودسل

لودسل‌ها حسگرهایی الکترونیکی هستند که برای اندازه گیری وزن و نیرو مورد استفاده قرار می گیرند. ساختار یک لود سل از بدنه ی آلیاژی و تعدادی مقاومت کششی است که با اعمال نیرو تغییر مقدار میدهند و با برداشتن نیرو، دوباره به مقدار اولیه ی خود باز میگردند. ظرفیت یک لود سل حداکثر میزان نیروی قابل تحمل برای آن است. برای اندازه گیری تغییرات مقاومت کششی از ماژول HX711 استفاده می کنیم که یک مبدل آنالوگ به دیجیتال با دقت بالا می باشد.

توجه

این ماژول از ارتباط I2C پشتیبانی نمی کند.

نکته
این ماژول امکان اندازه گیری 2 عدد لود سل را به طور هم زمان دارد.

جهت دریافت دیتاشیت ماژول وزن HX711 اینجا کلیک کنید.

معرفی پایه ها (Pinout) ماژول وزن HX711

ماژول HX711 دارای 10 پایه به شرح زیر است:

  • VIN: تغذیه ماژول – 3.3-5 ولت
  • GND: زمین
  • SCK: همزمان سازی ماژول و میکروکنترلر
  • OUT: خروجی ماژول به صورت دیجیتال
  • E+: تغذیه لود سل ها
  • E-: زمین لودسل ها
  • A+: خروجی اول لود سل اول
  • A-: خروجی دوم لود سل اول
  • B+: خروجی اول لود سل دوم
  • B-: خروجی دوم لود سل دوم

پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
سنسور وزن به همراه ماژول HX711 × 1
سیم جامپر نری به مادگی × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی لودسل ( سنسور وزن ) با آردوینو

گام اول: سیم بندی

گام دوم: کد

ابتدا کتابخانه زیر را  بر آردوینوی خود نصب کنید. 

https://github.com/sparkfun/HX711-Load-Cell-Amplifier

توجه

اگر نیاز به راهنمایی بیشتر برای نصب کتابخانه بر روی آردوینو دارید، می توانید به آموزش نصب کتابخانه بر آردوینو مراجعه کنید.

کد زیر را روی برد آردوینوی خود آپلود کنید.
/*   
modified on Sep 21, 2020
Modified by MohammedDamirchi from https://github.com/sparkfun/HX711-Load-Cell-Amplifier base on https://www.instructables.com/id/Arduino-Scale-With-5kg-Load-Cell-and-HX711-Amplifi/
Home
*/ #include "HX711.h" #define DOUT 3 #define CLK 2 HX711 scale; float calibration_factor = -100000; //Change this for calibration your load cell void setup() { Serial.begin(9600); Serial.println("HX711 calibration sketch"); Serial.println("Remove all weight from scale"); Serial.println("After readings begin, place known weight on scale"); Serial.println("Press + or a to increase calibration factor"); Serial.println("Press - or z to decrease calibration factor"); scale.begin(DOUT, CLK); scale.set_scale(); scale.tare(); //Reset the scale to 0 long zero_factor = scale.read_average(); //Get a baseline reading Serial.print("Zero factor: "); //This can be used to remove the need to tare the scale. Useful in permanent scale projects. Serial.println(zero_factor); } void loop() { scale.set_scale(calibration_factor); //Adjust to this calibration factor Serial.print("Reading: "); Serial.print(abs(scale.get_units())*0.453592, 4); Serial.print(" kg"); //Change this to kg and re-adjust the calibration factor if you follow SI units like a sane person Serial.print(" calibration_factor: "); Serial.print(calibration_factor); Serial.println(); if(Serial.available()) { char temp = Serial.read(); if(temp == '+' || temp == 'a') calibration_factor += 10; else if(temp == '-' || temp == 'z') calibration_factor -= 10; } }
پس از آپلود کد، در سریال مانیتور مشاهده می کنید.

آموزش های مشابه

Comments (2)

  • موسوی Reply

    سلام
    چگونه یا چه نرم افزاری خروجی بصورت نمودار میدهد؟ به عبارت دیگر می خواهم نیرویی که بدست می آید هم بصورت عددی و هم در واحد زمان ) ثانیه بصورت نمودار نمایش داده شود؟ چکار کنم؟ ممکنه خواهش کنم مرا راهنمایی نمایید؟

    اکتبر 12, 2023 at 10:26 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      برای نمایش نموداری کافی است Serial Plotter نرم افزار آردوینو را باز کنید یا کلید ترکیبی Ctrl+Shift+L را بزنید تا باز شود.

      اکتبر 14, 2023 at 8:47 ق.ظ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.