ترازوها از ابزارهای بسیار مهم و کاربردی به شمار می روند. این ابزار به قدری کاربردی است که به قطع می توان جزو یکی از مهم ترین اختراعات بشری، آن را به حساب آورد. ترازوها در ابتدا به شیوه مکانیکی و با هم سطح شدن دو کفه آن عمل می کردند. اما از آنجاییکه علم الکترونیک در تمام سطوح زندگی بشر تحول ایجاد کرده، ترازوهای دیجیتال امروزه جای ترازوهای سنتی را گرفته اند. به کمک ترازوهای دیجیتال به سادگی و با دقت بسیار بالایی، می توانیم جرم اجسام را اندازه بگیریم. در این آموزش به طراحی و پیاده سازی یک ترازو دیجیتال می پردازیم. این ترازو با اندازه گیری جرم اجسام، مقدار اندازه گیری شده را روی نمایشگر سگمنت نمایش می دهد. در ادامه با با دیجی اسپارک، مرجع تخصصی آردوینو به زبان فارسی همراه باشید.
عملکرد پروژه ترازو دیجیتال
همانطور که پیشتر گفته شد، در این پروژه قصد به طراحی یک ترازو دیجیتال داریم. این ترازو می تواند تا یک کیلو گرم را اندازه گیری کند. برای اندازه گیری جرم اجسام، از سنسور لودسل استفاده می کنیم. سنسور لود سل یک ابزرا استاندارد و فوق العاده کاربردی جهت اندازه گیری اجسام است. در طرف دیگر، این سنسور با توجه به استاندارد کاربری آن، جهت برقراری ارتباط به میکروکنترلرها نیاز به آی سی مبدل دارد. با این آی سی مبدل داده ها به میکروکنترلر ارسال و پس از دریافت، تجزیه و تحلیل خواهد شد. در این پروژه ما از برد آردوینو UNO برای واحد پردازشگر مرکزی استفاده خواهیم کرد. قسمت های بعدی را به معرفی اجزای پروژه اختصاص خواهیم داد.
سنسور لودسل و مبدل HX711
همانطور که پیشتر گفته شد، در این پروژه قصد داریم تا به کمک سنسور لود سل به اندازه گیری جرم اجسام بپردازیم. سنسورهای لود سل انواع به طور کلی به سه دسته هیدرولیکی، پنوماتیکی و استریچ گین تقسیم بندی می شوند. مدلی که در این آموزش ما استفاده می کنیم، از نوع استریچ گین است. در مدل استریچ گین، تغییرات جرم با تغییرات مقاومت الکتریکی رابطه دارند. به عبارت دیگر، این مدل دارای یک مقاومت الکتریکی بوده که با قرارگیری جرم های مختلف، مقدار آن هم تغییر خواهد کرد.
اما خروجی دریافت شده از سنسور نیاز به مدار تقویت کننده دارد. به همین منظور، نیاز به یک مدار تقویتی از نوع پل وتستون داریم. برای این زا ماژول مبدل HX711 استفاده می کنیم. این ماژول می توان به روش پل وتستون، خروجی سنسور لود را تقویت کند. از طرف دیگر این خروجی را به شکلی دیجیتال به میکروکنترلر ارسال می کند. بدین ترتیب به سادگی و از طریق پورت ارتباطی دو سیمه، ارتباط بین برد آردوینو و سنسور برقرار می شد. برد آردوینو با دریافت، تحلیل و پردازش داده ها، خروجی مناسب را روی نمایشگر نمایش خواهد داد. در قسمت بعد با برد آردوینو بیشتر آشنا می شویم.
برد آردوینو UNO
برد آردوینو UNO یکی از مهم ترین و پرکاربردترین برد های پردازشی به شمار می رود. برد آردوینو را احتمال خیلی زیاد بارها و بارها نام آن را شنیده اید. این برد که در حقیقت برد راه انداز میکروکنترلر AVR به شمار می رود، روال توسعه و طراحی پروژه ها را تسریع و تسهیل می بخشد. به کمک برد و پلتفرم آردوینو می توان برنامه نویسی سخت افزار را به شکلی ساده و کاربردی، آموخت.
در پروژه ترازو دیجیتال با آردوینو خروجی مبدل HX711 به برد آردوینو ارسال می گردد. سپس با توجه به برنامه نوشته شده، جرم جسم اندازه گرفته شده و بر روی نمایشگر نمایش داده می شود. در این پروژه از نمایشگر سون سگمنت TM1637 استفاده خواهیم کرد. قسمت بعد مربوط به این موضوع است.
نمایشگر TM1637
بی شک نمایشگر ها از مهم ترین اجزای یک پروژه به شمار می روند. نمایشگر نقش واسط بین کاربر و دستگاه را بازی می کند. یکی از مهم ترین و پرکاربردترین نمایشگرها، نوع سون سگمنت آن است. نمایشگرها سون سگمنت با قیمتی مناسب و ظاهری کاربر پسند، یکی از انتخاب های همیشگی در طراحی سیستم ها به شمار می روند. این نمایشگرها می توانند اعداد انگلیسی و بعضی از حروف را نمایش دهند.
نمایشگرهای سون سگمنت دارای کابل های زیادی هستند. از این رو اتصال آن به آردوینو سبب اشغال شدن بسیاری از پایه ها خواهد شد. برای حل این مشکل، نمایشگر TM1637 یک راه حل خلاقانه ارایه داده است. این نمایشگر دارای ارتباط I2C است. بدین ترتیب شما از طریق تنها ۲ پایه، می توانید ۴ سگمنت را کنترل نمایید. از این گذشته، جهت راه اندازی و کار با این نمایشگر جادویی کتابخانه تحت آردوینو توسعه یافته که روال کار را بسیار ساده می کند. در قسمت بعد به نصب دو کتابخانه، یکی نمایشگر TM1637 و دیگری ماژول مبدل HX711 خواهیم پرداخت.
نصب کتابخانه های مورد نیاز
همانطور که اطلاع دارید، کتابخانه ها یکی از ابزارهای کلیدی و کاربردی در برنامه نویسی به شمار می روند. به کمک این ابزار، می توانیم توابع نوشته شده در فایلهایی به نام کتابخانه ذخیره کرده و سپس در پروژه های متعدد از آن استفاده کنیم. همانطور که پیشتر گفته شد، برای راه اندازی و کار با ماژول TM1637 کتابخانه توسعه داده شده است. برای استفاده از این کتابخانه، ابتدا باید آن را نصب کنیم. برای نصب کتابخانه در محیط آردویینو، ابتدا مطابق تصویر زیر بر روی گزینه Tools و سپس Manage Libraries کلیک کنید.
پس از کلیک بر روی گزینه Manage Libraries، در صفحه ظاهر شده، در قسمت کادر جستجو، عبارت SevenSegmentTM1637.h را جستجو نموده و کتابخانه مشخص شده در تصویر زیر را نصب نمایید.
پس از نصب کتابخانه، می توانید از آن به سادگی در پروژه استفاده کنیم. توجه داشته باشید که در این پروژه از ورژن ۱٫۰٫۰ کتابخانه استفاده می کنیم. در ادامه می بایست کتابخانه HX711 را نصب کنیم. برای این مورد مطابق روش مرحله پیش، در کادر جست و جو عبارت HX711 را تایپ کرده و مطابق کادر قرمز رنگ تصویر زیر، کتابخانه را نصب کنید.
شماتیک و اتصالات پروژه
پس از نصب کتابخانه های مورد نیاز، نوبت به بررسی شماتیک و اتصالات پروژه ترازو دیجیتال با آردوینو می رسد. ابتدا تصویر زیر فرم کلی اتصالات را نمایش می دهد.
مطابق تصویر فوق، اتصالات را می بایست به شکلی که در ادامه می آید، ادامه دهیم.
اتصالات سنسور لود سل
- اتصال کابل قرمز سنسور به پایه E+ ماژول HX711
- اتصال کابل مشکی به پایه E- ماژول HX711
- اتصال کابل سبز به پایه A+ ماژول HX711
- اتصال کابل سفید به پایه A- ماژول HX711
- اتصال پایه VCC ماژول HX711 به پایه ۵ ولت آردوینو
- اتصال پایه GND ماژول HX711 به پایه GND آردوینو
- اتصال پایه DT ماژول HX711 به پایه شماره ۲ آردوینو
- اتصال پایه SCK ماژول HX711 به پایه ۳ آردوینو
اتصالات نمایشگر
- اتصال پایه VCC نمایشگر به پایه ۳٫۳ آردوینو
- اتصال پایه GND نمایشگر به پایه GND آردوینو
- اتصال پایه CLK نمایشگر به پایه ۴ آردوینو
- اتصال پایه DIO نمایشگر به پایه ۵ آردوینو
پس از برقراری اتصالات، نوبت به کدهای پروژه می رسد. این مورد در قسمت بعدی مورد بررسی قرار خواهد گرفت.
کدهای پروژه ترازو دیجیتال
در این قسمت کدهای پروژه ترازو دیجیتال با آردوینو را مشاهده می کنید. این کدها برای برد آردوینو UNO توسعه یافته، اما برای برد آردوینو MEGA هم قابل استفاده است.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
اجرای پروژه ترازو دیجیتال
جهت اجرای پروژه، پس از آپلود کد، عبارت ON را روی نمایشگر مشاهده خواهید کرد. پس از این مرحله، عبارت INIT مطابق تصویر زیر روی نمایشگر، به نمایش درخواهد آمد. در این لحظه فورا می بایست یک وزنه یک کیلو گرمی روی سنسور لود سل قرار دهید. این مرحله مربوط به کالیبراسیون است. پس از این قسمت، سنسور آماده بوده و جرم را اندازه گیری خواهد نمود.
حال می توانید با قرار دادن اجسام روی سنسور، جرم آن ها را اندازه گیری کنید.
برای اندازه گیری صحیح، لطفا به نکات زیر دقت کنید.
- به محض مشاهده عبارت INIT روی نمایشگر، وزنه یک کیلوگرمی را قرار دهید. این وزنه را بدون تاخیر می بایست بر روی سنسور قرار داده شود. توجه داشته باشید که به هیچ وجه این وزنه پیش از نمایش عبارت INIT روی سنسور قرار نگیرد.
- برای قرارگیری وزنه ها، به شکل زیر عمل کنید. وزنه ها می بایست مطابق علامت مشخص شده روی سنسور قرار گیرند.
تحلیل کدهای پروژه
پس از اجرای پروژه نوبت به تحلیل کدهای آن می رسد. اما از آنجاییکه درون کدهای پروژه به صورت خط به خط کامنت(توضیح) درج شده، بنابراین به صورت خلاصه به کدهای پروژه می پردازیم. در ابتدا تابع زیر را در اجرا داریم.
calibrate_scale
تابع فوق نقش کالیبراسیون سنسور لودسل را بر عهده دارد. پس از این، به کمک تابع زیر می توانیم جرم جسم را اندازه بگیریم.
scale.get_units(10)
در نهایت به کمک تابع print، داده ها را روی نمایشگر نمایش می دهد.
لوازم مورد نیاز
جمع بندی
در این آموزش به طراحی و پیاده سازی ترازو دیجیتال به کمک سنسور لود سل و برد آردوینو UNO پرداختیم. ترازوهای دیجیتال از ابزارهای مهم و کاربردی در زندگی روزمره به شمار می روند. در این آموزش به روشی ساده، اقدام به طراحی و پیاده سازی یک ترازو دیجیتال نمودیم. این ترازو می تواند تا یک کیلو گرم جرم را اندازه گیری نماید. در کنار این، ترازو دیجیتال ساخته شده در این پروژه از نمایشگر سون سگمنت جهت نمایش داده ها بهره می برد.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
عالی بود
خیلی ممنون مهندس صابری عزیز
خسته نباشید
ممنونم
لطف دارید
سلام چرا هر بار که برد خاموش روشن میشه نیاز به کالبره شدن داره مگر یکبار نباید کالیبره رو تو حافظش ذخیره کنه؟
سلام
برای این مورد باید دستکاری در کتابخانه سنسور انجام گیرد. این مورد را در آینده بروز رسانی خواهیم کرد.
در حالت عادی ماژول به صورت ۱۰سمپل تنظیم شده ک اگه ۸۰ سمپل در ثانیه لازم داشتید باید پایه ۱۵ را از گراند جدا کنید .
از اشتراک گذاری اطلاعات خود بی نهایت ممنونم
سلام .من پروژه را انجام دادم اما بعد از گذاشتن وزنه در هنگامی INITظاهر میشود بعد شروع به نمایش صفر میکند و باقرار دادن جرم های دیگه اندازه گیری صورت نمیگیرد راه کار چیست امکان داره راهنمایی کنید؟؟ ممنون از پروژه های جذابتون
اتصالات را لطفا مجددا بررسی کنید. احتمالا جایی قطعی وجود دارد.
سلام من باید یک ترازو بسازم لطفاً تماس بگیرید متشکرم
با سلام
برای ساخت ترازو میتوانید از همین آموزش استفاده کنید.