پروژه الکترونیکپروژه های آردوینوپروژه های اندازه گیری

ساخت ترازو دیجیتالی با آردوینو (اندازه گیری وزن با Arduino)

سلام. پروژه ساخت ترازو دیجیتالی با آردوینو (اندازه گیری وزن با Arduino) را آماده کردیم.

آموزش راه اندازی ترازو با Arduino و لود سل

در این پروژه آردوینو میخواهیم با اتصال لود سل و HX711 به آردوینو وزن را انداره گیری کنیم. ما در بسیاری از مغازه ها و سکو های توزین دیده ایم که با قرار دادن جسم بر روی سکو، وزن به سرعت نشان داده میشود. ما در این پروژه Arduino با استفاده از Load Cell در حال ساخت همان نوع دستگاه توزین هستیم که میتواند تا 40 کیلو را وزن کند. همچنین در صورت استفاده از Load cell های قوی تر میتوانید وزن های بسیار بیشتری را اندازه گیری کنید.

نحوه کار پروژه اندازه گیری وزن Arduino ساده است. قبل از شروع جزئیات ، ابتدا باید این سیستم را برای اندازه گیری صحیح وزن کالیبره کنیم. وقتی کاربر آن را خاموش کند ، سیستم به طور خودکار شروع به کالیبراسیون می کند. و اگر کاربر می خواهد آن را به صورت دستی کالیبره کند، دکمه را باید فشار دهد. ما برای کالیبراسیون یک تابع void calibrate () ایجاد کرده ایم.

برای کالیبره کردن این ترازو، بعد از روشن کردن دستگاه منتظر باشید تا پیام 100g بر روی ال سی دی نمایش داده شود سپس یک وزنه 100 گرمی را روی لودسل قرار دهید. پس از چند ثانیه کالیبراسیون انجام میشود و میتوانید با توجه به ظرفیت Load Cell خود وزنه دلخواه را قرار دهید.

آموزش راه اندازی ترازو با Arduino و لود سل

در این پروژه از آردوینو برای کنترل کل فرآیند استفاده کرده ایم. Cell Load وزن را حس می کند وو ولتاژ آنالوگ الکتریکی را به ماژول تقویت کننده بار HX711 وارد می کند. HX711 یک آنالوگ به دیجیتال 24bit است که باعث تقویت و تبدیل خروجی سلول Load به دیجیتالی می شود. سپس این مقدار تقویت شده به آردوینو تغذیه می شود. اکنون آردوینو خروجی HX711 را محاسبه کرده و آن را به مقادیر وزن بر حسب گرم تبدیل کرده و آن را بر روی LCD نشان می دهد. از دکمه برای کالیبراسیون سیستم استفاده می شود.

فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.

پروژه های دیگر ما با لودسل :

حتما ببینید :  ارسال و دریافت SMS با میکروکنترلر STM32 و ماژول Sim800

ماژول سنسور وزن Load Cell و HX711

Load Cell مبدل است که نیرو یا فشار را به خروجی الکتریکی تبدیل می کند. بزرگی این خروجی الکتریکی به طور مستقیم با نیرویی که اعمال می شود متناسب است. مقاومت مؤثر این سنسور ها در اثر افزایش فشار و نیروی وارده تغییر می کند. سلول بار (Load Cell) در محدوده های مختلفی از قبیل 5 کیلوگرم ، 10 کیلوگرم ، 100 کیلوگرم و … وجود دار ، در اینجا ما برای تست پروژه از یک لودسل با قابلیت وزن 40 کیلو گرم استفاده میکنیم.

تصویر یک Load cell لود سل

سیگنال های الکتریکی تولید شده توسط سلول بار در چند میلی ولت است، بنابراین آنها باید توسط تقویت کننده، تقویت شوند و به همین دلیل از ماژول HX711  استفاده میکنیم. ماژول حسگر توزین HX711 دارای تراشه HX711 است که یک مبدل آنالوگ به دیجیتال با دقت بالای 24 بیت است. HX711 دارای دو کانال ورودی آنالوگ است و با برنامه نویسی این کانال ها می توانیم به 128 دست پیدا کنیم.

لودسل با استفاده از چهار سیم به HX711 متصل میشود.

ماژول سنسور وزن HX711

  • سیم قرمز به E + وصل شده است
  • سیم سیاه به E وصل شده است
  • سیم سفید به A- وصل شده است
  • سیم سبز یا آبی به A + وصل شده است

نحوه اتصال لودسل به HX711

فیکس کردن سطح و لودسل

برای اینکه پروژه ما به خوبی کار کند، باید لودسل را در زیر زمین کنار درب نصب کنیم تا به خوبی وزن شخص را حس کند. ما در اینجا در حال تست پروژه هستیم بنابراین Load Cell را در زیر یک مقوای سخت قرار میدهیم. مقوای سخت در اینجا به عنوان یک سکو در نظر گرفته میشود که وزن را حس میکند.

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

راه اندازی سنسور وزن با Raspberry pi

توضیحات مدار ترازو با آردوینو

اتصالات این پروژه آسان است و شماتیک مدار در تصویر زیر آورده شده است. پین های RS ، EN ، d4 ، d5 ، d6 و d7 ال سی دی کاراکتری به ترتیب به پین شماره 8 ، 9 ، 10 ، 11 ، 12 و 13 آردوینو متصل شده اند. پین DT و SCK ماژول HX711 مستقیما به پین های A0 و A1 آردوینو متصل می شوند.

مدار ترازو با آردوینو

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

  1. آردوینو اونو
  2. سلول بار (40kg)
  3. ماژول تقویت کننده سلول بار HX711
  4. LCD 16×2
  5. اتصال سیمها
  6. کابل یو اس بی
  7. تخته نان
  8. پیچ و مهره ، قاب و پایه

برنامه نویسی ترازو با Arduino

بخشی از برنامه نویسی این پروژه برای مبتدیان کمی پیچیده است. در این پروژه از هیچ کتابخانه ای برای ارتباط حسگر بار HX711 با آردوینو استفاده نکردیم. اگرچه برخی از کتابخانه ها برای این منظور وجود دارند. کد کامل پروژه در انتهای صفحه در فایل دانلودی قرار گرفته است. در اینجا بعضی از قسمت های کد را توضیح میدهیم.

حتما ببینید :  آموزش ارتباط همتا به همتا رزبری پای و آردوینو با LoRa

در ابتدا کتابخانه کریستال مایل را برای پیکربندی ال سی دی کاراکتری فراخوانی میکنیم و سپس پین های HX711 را تعیین میکنیم. پین دکمه و برخی متغیر ها نیز تعریف میشوند.

#include <LiquidCrystal.h> // کتابخانه ال سی دی کاراکتری
LiquidCrystal lcd(8, 9, 10, 11, 12, 13); // پین های ال سی دی کاراکتری

#define DT A0 // پین های HX711
#define SCK A1
#define sw 2

long sample=0; // تعریف متغیر ها
float val=0;
long count=0;

پس از آن ، ما عملکرد زیر را برای خواندن داده ها از ماژول HX711 ایجاد کرده ایم.

unsigned long readCount(void)
{
  unsigned long Count;
  unsigned char i;
  pinMode(DT, OUTPUT);
  digitalWrite(DT,HIGH);
  digitalWrite(SCK,LOW);
  Count=0;
  pinMode(DT, INPUT);
  while(digitalRead(DT));
  for (i=0;i<24;i++)
  {
    digitalWrite(SCK,HIGH);
    Count=Count<<1;
    digitalWrite(SCK,LOW);
    if(digitalRead(DT)) 
    Count++;
  }
  digitalWrite(SCK,HIGH);
  Count=Count^0x800000;
  digitalWrite(SCK,LOW);
  return(Count);
}

سپس ما ال سی دی را تنظیم میکنیم و نوع پین ها را تعیین میکنیم.

void setup()
{
  Serial.begin(9600);
  pinMode(SCK, OUTPUT);
  pinMode(sw, INPUT_PULLUP);
  lcd.begin(16, 2);
  lcd.print("    Weight ");
  lcd.setCursor(0,1);
  lcd.print(" Measurement ");
  delay(1000);
  lcd.clear();
  calibrate();
}

در مرحله بعدی (void loop)، داده هایی از ماژول HX711 را میخوانیم و این داده ها را به وزن (گرم) تبدیل کرده و به LCD ارسال می کنیم.

void loop()
{
  count= readCount();
  int w=(((count-sample)/val)-2*((count-sample)/val));
  Serial.print("weight:");
  Serial.print((int)w);
  Serial.println("g");
  lcd.setCursor(0,0);
  lcd.print("Weight            ");
  lcd.setCursor(0,1);
  lcd.print(w);
  lcd.print("g             ");

  if(digitalRead(sw)==0)
  {
    val=0;
    sample=0;
    w=0;
    count=0;
    calibrate();
  }
}

ما یک تابع کالیبراسیون ایجاد میکنیم که با قرار دادن وزنه 100 گرمی بر روی Load Cell ، سیستم را کالیبره میکند.

void calibrate()
{
    lcd.clear();
  lcd.print("Calibrating...");
  lcd.setCursor(0,1);
  lcd.print("Please Wait...");
  for(int i=0;i<100;i++)
  {
    count=readCount();
    sample+=count;
    Serial.println(count);
  }
  ..... ....
  ..... .....

فیلم عملکرد پروژه

در اینجا ما برای اندازه گیری وزن از لودسل و Hx711 و آردوینو استفاده کردیم. فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

دانلود فیلم عملکرد پروژه ترازو با آردوینو

موارد موجود در فایل : شماتیک کامل مدار ، سورس کامل

برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
برچسب ها

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن