- اردوینو ویٹنگ مشین ورکنگ
- ارڈوینو بیسڈ ویٹنگ مشین کے لئے ضروری اجزاء
- آرڈینوو پر مبنی وزنی مشین - سرکٹ ڈایاگرام
- بندیدار پرفور بورڈ پر سرکٹ بنانا
- آرڈینوو پر مبنی وزنی مشین کے لئے ایک دیوار تعمیر کرنا
- آرڈینوو ویٹنگ مشین۔ کوڈ
ڈیجیٹل لوڈ پیمانے جدید دور کی انجینئرنگ اور ڈیزائن کا ایک اور معجزہ ہیں۔ ہاں ، ہم وزن والے پیمانے کے بارے میں بات کر رہے ہیں جو ہم اکثر اکثر گروسری اسٹورز اور دیگر جگہوں پر دیکھتے ہیں ، لیکن کیا آپ نے کبھی سوچا ہے کہ وزن کا پیمانہ کیسے چلتا ہے؟ اس سوال کے جواب کے ل this ، اس منصوبے میں ، ہم لوڈ سیل اور اس کے کام پر ایک نظر ڈالیں گے۔ آخر میں ، ہم HX711 ویٹ سینسر کے ساتھ پورٹ ایبل آرڈینوو پر مبنی بوجھ پیمانے کی تعمیر کریں گے ، جو 10 کلوگرام تک وزن کی پیمائش کرسکتا ہے۔
یہ وزن کی مشین مقامی اسٹوروں کے لئے بہترین ہے ، جہاں وہ بڑی تعداد میں اشیاء پیک کرتے ہیں۔ تجارتی مصنوعات کی طرح ، ہمارے وزن کے پیمانے پر ایک صفر کا بٹن ہوگا جو پیمانہ کو صفر کرتا ہے۔ نیز ، پیمائش کے ل weight وزن مقرر کرنے کا ایک اختیار ہے ، جب ماپنے والا وزن طول وزن تک پہنچ جاتا ہے تو ، ایک بززر تیز بیپ کرتا ہے اور جب سیٹ کا وزن ناپنے والے وزن کے برابر ہوتا ہے تو رک جاتا ہے۔ اس طرح ، صارف آواز کو سن کر اسے پیک کرسکتا ہے اور اسے ڈسپلے کو دیکھنے کی ضرورت نہیں ہوگی۔ چونکہ یہ ایک بہت ہی آسان پروجیکٹ ہے ، ہم آرڈینوو اور اسٹرین گیج لوڈ سیل جیسے اجزاء کو استعمال کرتے ہوئے اسے بہت آسانی سے تعمیر کریں گے۔ لہذا ، مزید تاخیر کے بغیر ، آئیے ہم اس میں شامل ہوجائیں۔
پچھلے مضمون میں ، ہم نے مشہور HX711 لوڈ سیل یمپلیفائر ماڈیول کا استعمال کرتے ہوئے ای میل الرٹ اور ویب مانیٹرنگ کے ساتھ راسبیری پائی بیڈ ویٹ سینسر اور آئی او ٹی اسمارٹ کنٹینر جیسے منصوبے بنائے ہیں۔ تو ، یہ چیک کریں کہ آیا یہ آپ کی ضرورت ہے۔
اردوینو ویٹنگ مشین ورکنگ
اس پروجیکٹ کا مرکزی جزو ایک بوجھ سیل اور HX711 لوڈ سیل یمپلیفائر ماڈیول ہے ۔ جیسا کہ آپ دیکھ سکتے ہیں ، ایک طرف دس کلو گرام کے ساتھ نشان لگا ہوا ہے۔ اس کے علاوہ ، آپ کو لوڈ سیل پر کسی طرح کا سفید حفاظتی گلو ملاحظہ ہوسکتا ہے اور تاروں کے چار مختلف رنگ سامنے آرہے ہیں ، جو سفید حفاظتی گلو کے نیچے موجود راز اور ان چار رنگوں والی تاروں کی افادیت کو مضمون میں بعد میں ننگا کردیں گے۔
ایک لوڈ سیل ایک ٹرانس ڈوئزر ہے جو طاقت یا دباؤ کو بجلی کی پیداوار میں بدل دیتا ہے۔ اس کے دو رخ ہیں ، چلیں ہم دائیں اور بائیں طرف کہتے ہیں ، اور یہ ایلومینیم بلاکس سے بنا ہے۔ جیسا کہ آپ دیکھ سکتے ہیں کہ مادے کے وسط میں ایک بڑا سوراخ ڈال کر پتلا کیا جاتا ہے۔ یہی وجہ ہے کہ جب پہاڑ کی طرف بوجھ ڈال دیا جاتا ہے تو وہ نقطہ ہے جس میں خرابی کا سامنا کرنا پڑتا ہے۔ اب ذرا تصور کریں کہ دائیں طرف والا سیل اڈے پر لگا ہوا ہے اور بائیں طرف جہاں بوجھ رکھا گیا ہے ، اس ترتیب میں وسط میں دیوہیکل سوراخ ہونے کی وجہ سے اسٹرین گیج لوڈ سیل کو درست کردیا جاتا ہے۔
جب بوجھ سیل کے بوجھ پر بوجھ ڈال دیا جاتا ہے تو ، اوپر والا حصہ تناؤ کا شکار ہوجائے گا ، اور نیچے کا حصہ دباؤ کا شکار ہوگا۔ یہی وجہ ہے کہ ایلومینیم بار نیچے کی طرف بائیں جانب موڑتا ہے۔ اگر ہم اس خرابی کی پیمائش کرتے ہیں تو ، ہم اس قوت کی پیمائش کرسکتے ہیں جو ایلومینیم بلاک پر لگائی گئی تھی اور وہی ہم کریں گے۔
اب ، سوال باقی ہے کہ سفید حفاظتی گلو کے اندر کیا ہے؟ اس حفاظتی گلو کے اندر ، ہمیں ایک بہت ہی پتلا لچکدار جزو ملے گا جسے اسٹرین گیج کہا جاتا ہے. تناؤ گیج ایک جزو ہے جو تناؤ کی پیمائش کے لئے استعمال ہوتا ہے۔ اگر ہم اس جزو کو قریب سے دیکھیں ، تو ہم دو کنکشن پیڈ دیکھ سکتے ہیں ، اور پھر ہمارے پاس بار بار انتخاب کے ساتھ چلنے والے تار کا نمونہ ہے۔ یہ کوندکٹاوی تار کی ایک مستند مزاحمت ہے۔ جب ہم اس کو موڑتے ہیں تو ، مزاحمت کی قیمت بدل جائے گی؟ لہذا ، تناؤ گیج کا ایک رخ ایک جگہ پر لگا ہوا ہے اور اس کو طے کیا جاتا ہے ، اگر ہم ایلومینیم بار کے دوسری طرف وزن رکھیں تو ، اس سے تناؤ گیج موڑنے پر مجبور ہوجائے گا ، جو مزاحمت میں تبدیلی کا سبب بنے گا۔ واقعتا یہ کس طرح ہوتا ہے؟ تناؤ گیج کا کوندکٹاوی نمونہ تانبے سے بنا ہوا ہے ، اس تار کا ایک خاص علاقہ اور لمبائی ہوگی ، لہذا یہ دونوں یونٹ تار کی مزاحمت دیں گے۔ تار کی مزاحمت کرنٹ کے بہاؤ کی مخالفت کرتی ہے۔ اب یہ واضح ہے کہ اگر اس تار کا رقبہ چھوٹا ہوجاتا ہے تو ،کم الیکٹران کم کرنٹ کے معنی میں گزر سکتے ہیں۔ اب اگر ہم علاقے میں اضافہ کرتے ہیں تو ، یہ ایک موصل کی مزاحمت میں اضافہ کرے گا۔ اگر اس تار پر کچھ طاقت لگائی گئی ہے تو ، اس سے اس کا دائرہ بڑھ جائے گا اور اسی وقت یہ چھوٹا ہوجائے گا ، مزاحمت بڑھ جاتی ہے۔ لیکن مزاحمت کی یہ تغیر بہت کم ہے۔ اگر ہم تناؤ گیج کو بڑھاتے ہیں تو مزاحمت بڑھ جاتی ہے اور اگر ہم اسے دبائیں تو مزاحمت کم ہوجائے گی۔ قوت کی پیمائش کرنے کے ل we ، ہمیں مزاحمت کی پیمائش کرنے کی ضرورت ہے۔ براہ راست مزاحمت کی پیمائش ہمیشہ عملی نہیں ہوتی ہے ، کیونکہ تبدیلی بہت چھوٹی ہے۔ لہذا مزاحمت کی پیمائش کرنے کے بجائے ، ہم آسانی سے وولٹیج کی پیمائش کرسکتے ہیں۔ لہذا ، اس معاملے میں ، ہمیں گیج آؤٹ پٹ کو مزاحمتی اقدار سے وولٹیج کی اقدار میں تبدیل کرنے کی ضرورت ہے۔اگر اس تار پر کچھ طاقت لگائی گئی ہے تو ، اس سے اس کا دائرہ بڑھ جائے گا اور اسی وقت یہ چھوٹا ہوجائے گا ، مزاحمت بڑھ جاتی ہے۔ لیکن مزاحمت کی یہ تغیر بہت کم ہے۔ اگر ہم تناؤ گیج کو بڑھاتے ہیں تو مزاحمت بڑھ جاتی ہے اور اگر ہم اسے دبائیں تو مزاحمت کم ہوجائے گی۔ قوت کی پیمائش کرنے کے ل we ، ہمیں مزاحمت کی پیمائش کرنے کی ضرورت ہے۔ براہ راست مزاحمت کی پیمائش ہمیشہ عملی نہیں ہوتی ہے ، کیونکہ تبدیلی بہت چھوٹی ہے۔ لہذا مزاحمت کی پیمائش کرنے کے بجائے ، ہم آسانی سے وولٹیج کی پیمائش کرسکتے ہیں۔ لہذا ، اس معاملے میں ، ہمیں گیج آؤٹ پٹ کو مزاحمتی اقدار سے وولٹیج کی اقدار میں تبدیل کرنے کی ضرورت ہے۔اگر اس تار پر کچھ طاقت لگائی گئی ہے تو ، اس سے اس کا دائرہ بڑھ جائے گا اور اسی وقت یہ چھوٹا ہوجائے گا ، مزاحمت بڑھ جاتی ہے۔ لیکن مزاحمت کی یہ تغیر بہت کم ہے۔ اگر ہم تناؤ گیج کو بڑھاتے ہیں تو مزاحمت بڑھ جاتی ہے اور اگر ہم اسے دبائیں تو مزاحمت کم ہوجائے گی۔ قوت کی پیمائش کرنے کے ل we ، ہمیں مزاحمت کی پیمائش کرنے کی ضرورت ہے۔ براہ راست مزاحمت کی پیمائش ہمیشہ عملی نہیں ہوتی ہے ، کیونکہ تبدیلی بہت چھوٹی ہے۔ لہذا مزاحمت کی پیمائش کرنے کے بجائے ، ہم آسانی سے وولٹیج کی پیمائش کرسکتے ہیں۔ لہذا ، اس معاملے میں ، ہمیں گیج آؤٹ پٹ کو مزاحمتی اقدار سے وولٹیج کی اقدار میں تبدیل کرنے کی ضرورت ہے۔مزاحمت کم ہو جائے گی۔ قوت کی پیمائش کرنے کے ل we ، ہمیں مزاحمت کی پیمائش کرنے کی ضرورت ہے۔ براہ راست مزاحمت کی پیمائش ہمیشہ عملی نہیں ہوتی ہے ، کیونکہ تبدیلی بہت چھوٹی ہے۔ لہذا مزاحمت کی پیمائش کرنے کے بجائے ، ہم آسانی سے وولٹیج کی پیمائش کرسکتے ہیں۔ لہذا ، اس معاملے میں ، ہمیں گیج آؤٹ پٹ کو مزاحمتی اقدار سے وولٹیج کی اقدار میں تبدیل کرنے کی ضرورت ہے۔مزاحمت کم ہو جائے گی۔ قوت کی پیمائش کرنے کے ل we ، ہمیں مزاحمت کی پیمائش کرنے کی ضرورت ہے۔ براہ راست مزاحمت کی پیمائش ہمیشہ عملی نہیں ہوتی ہے ، کیونکہ تبدیلی بہت چھوٹی ہے۔ لہذا مزاحمت کی پیمائش کرنے کے بجائے ، ہم آسانی سے وولٹیج کی پیمائش کرسکتے ہیں۔ لہذا ، اس معاملے میں ، ہمیں گیج آؤٹ پٹ کو مزاحمتی اقدار سے وولٹیج کی اقدار میں تبدیل کرنے کی ضرورت ہے۔
ہم یہ پہی.ں والے پل کی مدد سے کرسکتے ہیں ۔ ہم اسٹریٹ گیج کو وہٹسٹون پل میں رکھتے ہیں اگر پل متوازن ہو ، درمیانی نقطہ میں وولٹیج صفر ہونی چاہئے (اس سے قبل ہم نے ایک پروجیکٹ بنایا ہے جہاں ہم نے بیان کیا ہے کہ وہیل اسٹون پل کیسے کام کرتا ہے ، آپ چیک کرسکتے ہیں کہ اگر آپ چاہتے ہیں تو) موضوع کے بارے میں مزید معلومات حاصل کریں)۔ جب تناؤ گیج اپنی مزاحمت کو تبدیل کرے گا تو ، یہ پل کو متوازن کردے گا ، اور وولٹیج بھی تبدیل ہوجائے گی۔ لہذا ، اس طرح وہیل اسٹون پل مزاحمت کی مختلف حالتوں کو وولٹیج کی اقدار میں بدلتا ہے۔
لیکن وولٹیج میں یہ تبدیلی اب بھی بہت چھوٹی ہے ، لہذا اس کو بڑھانے کے لئے ، ہمیں HX711 ماڈیول کو استعمال کرنے کی ضرورت ہے ۔ HX711 24 بٹ کا فرق والا ADC ہے ، اس طرح سے ، ہم بہت کم وولٹیج تبدیلیوں کی پیمائش کرسکتے ہیں۔ یہ 0 سے 2 صدف 24 تک کی قدر دے گا۔
ارڈوینو بیسڈ ویٹنگ مشین کے لئے ضروری اجزاء
اس پروجیکٹ کو ہر ممکن حد تک آسان بنانے کے ل we ، ہم نے بہت عام اجزاء استعمال کیے ہیں جو آپ کو کسی بھی مقامی شوق کی دکان میں مل سکتے ہیں۔ نیچے دی گئی تصویر آپ کو اجزاء کے بارے میں ایک نظریہ دے گی۔ مزید یہ کہ ہمارے پاس بل کا سامان (BOM) ذیل میں درج ہے۔
- لوڈ سیل (ہم 10 کلو وزنی سیل استعمال کررہے ہیں)
- HX 711 یمپلیفائر ماڈیول
- اردوینو نینو
- I2C LCD 16X2 - I2C ہم آہنگ
- 1 ک ریزٹر -2 نمبر
- ایل ای ڈی -2 نہیں
- بزر
- کامن پی سی بی
- 7.4V بیٹری (اگر آپ اسے پورٹیبل چاہتے ہو)
- LM7805 وولٹیج ریگولیٹر
آرڈینوو پر مبنی وزنی مشین - سرکٹ ڈایاگرام
لوڈ سیل میں چار تاریں ہیں جو سرخ ، سیاہ ، سبز اور سفید ہیں۔ یہ رنگ مینوفیکچررز کے مطابق مختلف ہوسکتا ہے ، لہذا بہتر ہوگا کہ ڈیٹاشیٹ کا حوالہ دیا جائے۔ HX711 بورڈ کے E + سے سرخ رنگ سے جڑیں ، سیاہ کو E- سے منسلک کریں ، A + سے سفید جوڑیں ، اور A- ، Dout سے سبز رنگ سے جڑیں ، اور بورڈ کی گھڑی بالترتیب D4 اور D5 سے جڑیں۔ پش بٹنوں کے ایک سرے کو D3 ، D8 ، D9 ، اور دوسرے سروں کو زمین سے جوڑیں۔ ہمارے پاس I2C LCD ہے ، لہذا ایس ڈی اے کو A4 اور SCL کو A5 سے مربوط کریں۔ یلسیڈی، HX711، اور Arduino کے کے زمین کے 5Vpin کرنے کنیکٹ VCCs، زمین سے مربوط بھی Arduino کے. تمام ماڈیول 5V پر کام کرتے ہیں ، لہذا ہم نے LM7805 وولٹیج ریگولیٹر شامل کیا ہے۔ اگر آپ اسے پورٹیبل کی حیثیت سے نہیں چاہتے ہیں تو ، آپ براہ راست USB کیبل کا استعمال کرتے ہوئے ارڈینو کو طاقت دے سکتے ہیں۔
بندیدار پرفور بورڈ پر سرکٹ بنانا
ہم نے ایک عام ڈاٹڈ پرفورڈ پر سارے اجزاء کو سولڈرڈ کردیا ہے۔ ہم نے سرکٹ بورڈ کے ساتھ ارڈینو اور اے ڈی سی کو سولڈر کرنے کے ل female خواتین ہیڈر کا استعمال کیا ، ہم نے تمام پش بٹن اور ایل ای ڈی کو مربوط کرنے کے لئے تاروں کا استعمال بھی کیا ہے۔ تمام سولڈرنگ کا عمل ختم ہونے کے بعد ، ہم نے یہ یقینی بنادیا ہے کہ LM7805 سے مناسب 5V نکل رہا ہے۔ آخر میں ، ہم نے بجلی کا سوئچ سرکٹ پر / بند کردیا ہے۔ ایک بار جب ہم سب ختم ہو گئے ، تو یہ نیچے کی طرح نظر آرہا تھا۔
آرڈینوو پر مبنی وزنی مشین کے لئے ایک دیوار تعمیر کرنا
جیسا کہ آپ دیکھ سکتے ہیں ، لوڈ سیل میں کچھ سکرو تھریڈز ہیں ، لہذا ہم اسے بیس پلیٹ پر سوار کرسکتے ہیں۔ ہم اپنے پیمانے کی بنیاد کے لئے پیویسی بورڈ استعمال کریں گے ، اس کے ل we ، ہم نے پہلے پیویسی بورڈ سے 20 * 20 سینٹی میٹر مربع اور چار 20 * 5 مستطیل کاٹ دیئے۔ پھر سخت گلو کا استعمال کرتے ہوئے ، ہم نے ہر ٹکڑے کو چپٹا اور ایک چھوٹا سا دیوار بنا لیا۔
یاد رکھیں ، ہم نے ایک طرف ٹھیک نہیں کیا ، کیوں کہ ہمیں اس پر پش بٹن ، ایل ای ڈی ، اور ایل سی ڈی رکھنے کی ضرورت ہے۔ پھر ہم نے پیمانے کے اوپری حصے کے لئے پلاسٹک کا بورڈ استعمال کیا۔ اس سیٹ اپ کو مستقل کرنے سے پہلے ، ہمیں یہ یقینی بنانا ہوگا کہ ہمارے پاس زمین سے لوڈ سیل تک کافی جگہ موجود ہے ، لہذا یہ موڑنے کے قابل ہو جائے گا ، لہذا ہم نے لوڈ سیل اور اڈے کے درمیان سکرو اور گری دار میوے رکھے ، ہم نے بھی شامل کیا لوڈ سیل اور اوپری حصے کے درمیان کچھ پلاسٹک کے اسپاسسر۔ ہم نے بیلنس کے اعلی سمارٹ کے طور پر ایک گول پلاسٹک شیٹ استعمال کیا۔
پھر ہم نے ایل سی ڈی ، ایل ای ڈی ، اور پش بٹن سامنے والے پینل میں رکھے ، اور ہر چیز کو لمبی موصل تار سے منسلک کیا۔ جب ہم نے وائرنگ کا عمل ختم کیا تو ، ہم نے کچھ جھکاؤ کے ساتھ فرنٹ پینل کو مرکزی اڈے پر چپکادیا ، لہذا ہم ایل سی ڈی سے قدریں آسانی سے پڑھ سکتے ہیں۔ آخر میں ، ہم نے مین سوئچ کو بیلنس کے پہلو سے جوڑ دیا اور بس۔ اس طرح ہم نے اپنے وزن کے پیمانے پر جسم بنایا ۔
آپ اپنے آئیڈیوں کے ساتھ ڈیزائن کرسکتے ہیں لیکن بوجھ سیل جیسا شبیہہ کی طرح رکھنا یاد رکھیں۔
آرڈینوو ویٹنگ مشین۔ کوڈ
چونکہ اب ہم اپنے ڈیجیٹل اسکیل کی تعمیر کے عمل کو ختم کر چکے ہیں ، ہم پروگرامنگ حصے میں جاسکتے ہیں۔ آسان پروگرامنگ کے ل we ، ہم HX711 لائبریری ، EEPROM لائبریری ، اور LiquidCrystal لائبریری استعمال کرنے جارہے ہیں۔ آپ Hit711 لائبریری کو سرکاری GitHub ذخیرے سے ڈاؤن لوڈ کرسکتے ہیں ، یا ٹولز > لائبریری شامل کریں > لائبریری کا نظم کریں ، پھر لائبریری کو ڈاؤن لوڈ کرنے کے بعد HX711 کی ورڈ کا استعمال کرتے ہوئے لائبریری تلاش کریں ، اسے اردوینو آئیڈی میں انسٹال کریں۔
پہلے ، ہمیں لوڈ سیل کیلیبریٹ کرنے اور EEPROM پر اس قدر کو ذخیرہ کرنے کی ضرورت ہے ، اس کے لئے ، فائل> مثال> HX 711_ADC پر جائیں ، پھر انشانکن کوڈ منتخب کریں ۔ کوڈ اپ لوڈ کرنے سے پہلے ، توازن کو مستحکم طیارے کی سطح پر رکھیں۔ پھر کوڈ کو ارڈینو میں اپ لوڈ کریں اور سیریل مانیٹر کھولیں۔ پھر باؤڈ کی شرح کو 572600 پر تبدیل کریں۔ اب مانیٹر کو وزن اٹھانے کے لئے کہیں ، اس کے لئے ہمیں ٹی دبائیں اور داخل ہونے کی ضرورت ہے۔
اب ، ہمیں اپنے وزن میں توازن پر رکھنے کی ضرورت ہے ، میرے معاملے میں ، وہ 194 گرام ہے۔ معلوم وزن رکھنے کے بعد ، سیریل مانیٹر پر وزن ٹائپ کریں ، اور داخل کریں کو دبائیں۔
اب ، سیریل مانیٹر آپ سے پوچھتا ہے کہ کیا آپ EEPROM میں قیمت کو محفوظ کرنا چاہتے ہیں یا نہیں ، لہذا ہاں منتخب کرنے کے لئے Y ٹائپ کریں۔ اب ہم سیریل مانیٹر پر وزن دیکھ سکتے ہیں۔
اس پروجیکٹ کا مرکزی کوڈ ، جسے ہم نے HX711 لائبریری کی مثال خاکہ سے تیار کیا ہے۔ آپ اس پروجیکٹ کا کوڈ نیچے سے ڈاؤن لوڈ کرسکتے ہیں۔
کوڈنگ سیکشن میں ، پہلے ، ہم نے تینوں لائبریریوں کو شامل کیا۔ HX711 لائبریری لوڈ سیل کی اقدار لینے کے لئے ہے۔ EEPROM اردوینو آئی ڈی کی انبلٹ لائبریری ہے ، جو EEPROM میں اقدار کو ذخیرہ کرنے کے لئے استعمال ہوتی ہے اور LiquidCrystal لائبریری l2C LCD ماڈیول کے لئے ہے۔
# شامل کریں
پھر مختلف پنوں اور تفویض کردہ اقدار کے ل inte عددی تعی.ن کریں HX711_ADC لوڈ سیل فنکشن ڈاؤٹ اور کلاک پن کو ترتیب دینے کے لئے ہے۔
const IN HX711_dout = 4؛ const IN HX711_sck = 5؛ int tpin = 3؛ HX711_ADC لوڈڈیل (HX711_dout، HX711_sck)؛ const int calVal_eepromAdress = 0؛ لمبی ٹی؛ const int Up_buttonPin = 9؛ کونٹ INT ڈاون_بٹن پن = 8؛ فلوٹ بٹنپش کاؤنٹر = 0؛ فلوٹ up_buttonState = 0؛ فلوٹ up_lastButtonState = 0؛ فلوٹ ڈاون_بٹن اسٹیٹ = 0؛ فلوٹ ڈاون_لاسٹ بٹن اسٹیٹ = 0؛
سیٹ اپ سیکشن میں ، پہلے ، ہم نے سیریل مانیٹر شروع کیا ، یہ صرف ڈیبگنگ کے لئے ہے۔ پھر ہم نے پن موڈز کی وضاحت کی ، تمام پش بٹن ان پٹ کے بطور متعین ہیں۔ آرڈینوو پل اپ فنکشن کی مدد سے ، ہم عام طور پر پنوں کو منطقی اونچائی پر رکھتے ہیں۔ لہذا ، ہم اس کے لئے کوئی بیرونی مزاحم کار استعمال نہیں کرنا چاہتے ہیں۔
پن موڈ (ٹیپن ، INPUT_PULLUP)؛ پن موڈ (6 ، آؤٹپٹ)؛ پن موڈ (12 ، آؤٹپٹ)؛ پن موڈ (اپ_بٹن پن ، INPUT_PULLUP)؛ پن موڈ (نیچے_ بٹن پن ، INPUT_PULLUP)؛
درج ذیل کوڈ کی لائنیں I2C LCD کو ترتیب دینے کے لئے ہیں۔ سب سے پہلے ، ہم نے LCD.print () فنکشن کا استعمال کرتے ہوئے استقبال والے متن کو ظاہر کیا ، دو سیکنڈ کے بعد ، ہم نے lcd.clear () کا استعمال کرتے ہوئے ڈسپلے کو صاف کردیا ۔ یہ ، ابتدا میں ، ڈسپلے میں آرڈینو بیلنس کو خوش آمدید متن کے بطور دکھاتا ہے ، اور دو سیکنڈ کے بعد ، یہ پیمائش کرنے والے وزن کو صاف اور ظاہر کرے گا۔
lcd.init ()؛ lcd.backlight ()؛ lcd.setCursor (0 ، 0)؛ lcd.print ("آرڈینو بیلنس")؛ lcd.setCursor (0 ، 1)؛ lcd.print ("آئیے پیمائش کریں")؛ تاخیر (2000)؛ lcd.clear ()؛
اس کے بعد لوڈسیل ڈبین () فنکشن کا استعمال کرتے ہوئے لوڈسیل سے اقدار کو پڑھنا شروع کیا ، اس کے بعد ، ہم نے کیلیبریٹڈ اقدار کے لئے EEPROM پڑھیں ، ہم EEPROM.get () فنکشن کا استعمال کرکے کرتے ہیں ۔ یعنی ، ہم نے EEPROM پتے میں انشانکن اسکیچ کا استعمال کرکے قیمت پہلے ہی ذخیرہ کردی ہے ، ہم صرف اس قدر کو دوبارہ حاصل کرتے ہیں۔
LoadCell.begin ()؛ EEPROM.get (calVal_eepromAdress، calibrationValue)؛
لوپ سیکشن میں ، پہلے ، ہم چیک کرتے ہیں کہ آیا لوڈ سیل سے کوئ ڈیٹا لوڈڈیل ڈیل اپڈیٹ () کے استعمال سے دستیاب ہے ، اگر دستیاب ہو تو ، ہم اس ڈیٹا کو پڑھ اور اسٹور کرتے ہیں ، اس کے لئے ہم لوڈڈیل ڈیل ( ڈیٹا ) استعمال کر رہے ہیں ۔ اگلا ، ہمیں LCD میں ذخیرہ شدہ قیمت کو ظاہر کرنے کی ضرورت ہے۔ ایسا کرنے کے لئے ، ہم نے LCD.print () فنکشن استعمال کیا ۔ بھی ، ہم سیٹ وزن پرنٹ کریں ۔ پش بٹن کاؤنٹر کی مدد سے سیٹ وزن مقرر کر رہا ہے ۔ اس کی وضاحت آخری حصے میں کی گئی ہے۔
if (LoadCell.update ()) newDataReady = true؛ if (newDataReady) { if (ملیس ()> ٹی + سیریل پرنٹ انٹرلول) { فلوٹ i = لوڈڈیل.بیٹا ڈیٹا ()؛ lcd.setCursor (0 ، 0)؛ lcd.print ("سیٹ وی:")؛ lcd.setCursor (9 ، 0)؛ lcd.print (بٹنپش کاؤنٹر)؛ lcd.setCursor (14 ، 0)؛ lcd.print ("GM")؛ lcd.setCursor (0 ، 1)؛ lcd.print ("وزن:")؛ lcd.setCursor (9 ، 1)؛ lcd.print (i)؛ lcd.setCursor (14 ، 1)؛ lcd.print ("GM")؛
اگلا ، ہم نے نرغے کی قیمت مقرر کی ، اس کے لئے ، پہلے ہم ڈیجیٹل ریڈ () فنکشن کا استعمال کرتے ہوئے ٹیر پش بٹن کی حالت کو پڑھتے ہیں ، اگر حالت کم ہے تو ہم اس وزن کو صفر تک پہنچا دیتے ہیں۔ اس وزن کے پیمانے کی تیاری تقریب ریڈنگ کو صفر پر لانا ہے۔ مثال کے طور پر ، اگر ہمارے پاس ایک پیالہ ہے جس میں چیزیں بھری ہوئی ہیں تو پھر خالص وزن کٹوری کا وزن + چیزوں کا وزن ہوگا۔ اگر ہم چیزیں لوڈ کرنے سے پہلے بوجھ سیل پر پیالے کے ساتھ ٹیر کا بٹن دبائیں تو ٹوکری کے وزن کی نفی ہوگی اور ہم اکیلے چیزوں کے وزن کی پیمائش کرسکتے ہیں۔
if (digitalRead (tpin) == LOW) ad LoadCell.tareNoDelay ()؛
اب ، ہمیں مختلف اشارے کے ل the ضوابط طے کرنے کی ضرورت ہے جیسے بزر کی تاخیر اور لیڈ کی حیثیت طے کرنا۔ ہم نے یہ کیا ہے اگر حالات استعمال کریں تو ، ہمارے پاس کل تین شرائط ہیں۔ پہلے ، ہم طے شدہ وزن اور پیمائش کے وزن کے مابین فرق کا حساب لگاتے ہیں ، پھر اس ویلیو کو متغیر k میں محفوظ کرتے ہیں۔
فلوٹ k = بٹنپش کاؤنٹر-i؛
1. اگر طے شدہ وزن اور پیمائش کرنے والے وزن کے درمیان فرق 50 گرام سے زیادہ یا اس کے برابر ہے تو ، بززر 200 ملی سیکنڈ تاخیر (آہستہ) کے ساتھ برپ ہوجاتا ہے۔
اگر (k> = 50) { ڈیجیٹل رائٹ (6 ، ہائی)؛ تاخیر (200)؛ ڈیجیٹل رائٹ (6 ، کم)؛ تاخیر (200)؛ }
2. اگر طے شدہ وزن اور پیمائش کے وزن میں فرق 50 سے کم اور 1 گرام سے زیادہ ہے تو ، بوزر 50 ملی سیکنڈ تاخیر (تیز) کے ساتھ بھپ جاتا ہے۔
اگر (k <50 && k> 1) { ڈیجیٹل رائٹ (6 ، HIGH)؛ تاخیر (50)؛ ڈیجیٹل رائٹ (6 ، کم)؛ تاخیر (50)؛ }
When . جب پیمائش کرنے والے وزن کے برابر قیمت یا سیٹ ویلیو سے زیادہ ہو تو ، یہ سبز لیڈ پر اور بزر اور ریڈ لیڈ سے دور ہوجائے گا۔
اگر (i> = بٹنپش کاؤنٹر) { ڈیجیٹل رائٹ (6 ، LOW)؛ ڈیجیٹل رائٹ (12 ، ہائی)؛ }
ہمارے پاس طے شدہ وزن (بٹن دبانے کی گنتی کے ل)) طے کرنے کے لئے دو اور کالعدم افعال ہیں۔
فنکشن ہر پریس کیلئے 10 گرام تک سیٹ ویلیو میں اضافہ کرتا ہے۔ یہ آرڈینوو کے ڈیجیٹل ریڈ فنکشن کا استعمال کرتے ہوئے کیا جاتا ہے اگر پن کم ہے اس کا مطلب ہے کہ بٹن دب گیا ہے اور اس کی قیمت 10 گرام تک بڑھے گی۔
up_buttonState = digitalRead (Up_buttonPin)؛ if (up_buttonState! = up_lastButtonState) { if (up_buttonState == LOW) { bPress = true؛ بٹنپشکاؤنٹر = بٹنپشکاؤنٹر + 10؛ }
اسی طرح ،
چیکاؤنڈ ہر پریس کے لئے 10 گرام تک سیٹ ویلیو کو کم کرنے کے لئے ہے۔
down_buttonState = ڈیجیٹل ریڈ (نیچے_ بٹنپین)؛ if (down_buttonState! = down_lastButtonState) { if (down_buttonState == LOW) { bPress = true؛ بٹنپشکاؤنٹر = بٹنپشکاؤنٹر - 10؛ }
یہ پروگرامنگ حصے کے اختتام کی نشاندہی کرتا ہے۔
یہ آرڈینوو پر مبنی الیکٹرانک پیمانہ 10 کلوگرام تک وزن کی پیمائش کے ل perfect بہترین ہے (ہم زیادہ درجہ بند لوڈسیل کا استعمال کرکے اس حد کو بڑھا سکتے ہیں)۔ یہ اصل پیمائش سے 99٪ درست ہے۔
اگر آپ کو اس اردوینو پر مبنی LCD وزن بیلنس مشین سرکٹ کے بارے میں کوئی سوالات ہیں تو ، براہ کرم تبصرہ سیکشن میں پوسٹ کریں ، آپ کا شکریہ!