- مطلوبہ مواد:
- سرکٹ ڈایاگرام:
- پروگرامنگ کی وضاحت:
- ٹمٹمانے ایل ای ڈی تسلسل کے لئے ہارڈ ویئر سیٹ اپ:
- اپ لوڈ اور کام کرنا:
یہ ٹیوٹوریل کے تسلسل کا دوسرا سبق ہے جس میں ہم انرجیہ آئی ڈی ای کا استعمال کرتے ہوئے ٹیکساس آلات سے ایم ایس پی 430 جی 2 لانچ پیڈ سیکھ رہے ہیں ۔ آخری بلنکی ایل ای ڈی ٹیوٹوریل میں ہم نے خود کو لانچ پیڈ ڈویلپمنٹ بورڈ اور اینجریا آئی ڈی ای سے متعارف کرایا ، ہم نے اپنا پہلا پروگرام بھی اپلوڈ کیا جو باقاعدگی کے وقفے پر بورڈ ایل ای ڈی کو جھپکانا ہے۔
اس ٹیوٹوریل میں ہم سیکھیں گے کہ سوئچ جیسے ان پٹ ڈیوائس کی حیثیت کو پڑھنے کے لئے ڈیجیٹل ریڈ اور ڈیجیٹل رائٹ آپشن کا استعمال کیسے کریں ، اور ایل ای ڈی جیسے متعدد آؤٹ پٹ کو بھی کنٹرول کریں۔ اس ٹیوٹوریل کے آخر میں آپ نے ڈیجیٹل ان پٹ اور آؤٹ پٹ کے ساتھ کام کرنا سیکھا ہوگا ، جس کا استعمال بہت سارے ڈیجیٹل سینسر جیسے آئی آر سینسر ، پیر سینسر وغیرہ کو انٹرفیس کرنے کے لئے بھی کیا جاسکتا ہے اور ایل ای ڈی ، بزر وغیرہ جیسے آؤٹ پٹ کو آن یا آف کرنا بھی دلچسپ لگتا ہے۔ ٹھیک ہے !! آو شروع کریں.
مطلوبہ مواد:
- MSP430G2 لانچ پیڈ
- کسی بھی رنگ کی ایل ای ڈی - 8
- سوئچ - 2
- 1 ک ریزٹر - 8
- مربوط تاروں
سرکٹ ڈایاگرام:
ہمارے پچھلے سبق میں ، ہم نے دیکھا کہ لانچ پیڈ خود دو ایل ای ڈی اور بورڈ پر سوئچ کے ساتھ آتا ہے۔ لیکن اس ٹیوٹوریل میں ہمیں اس سے کہیں زیادہ ضرورت ہوگی ، کیونکہ جب ہم بٹن دبائے جاتے ہیں تو ہم اس ترتیب سے آٹھ ایل ای ڈی لائٹس کو چمکانے کا ارادہ رکھتے ہیں ۔ جب ہم دوسرا بٹن دبائیں گے تو ہم اس ترتیب کو بھی تبدیل کردیں گے تاکہ اسے دلچسپ بنائیں۔ لہذا ہمیں 8 ایل ای ڈی لائٹس اور دو سوئچ کے ساتھ ایک سرکٹ بنانا ہے ، مکمل سرکٹ ڈایاگرام ذیل میں مل سکتا ہے۔
یہاں 8 ایل ای ڈی آؤٹ پٹ ہیں اور دو سوئچ آوپٹس ہیں۔ ہم ان کو بورڈ کے کسی بھی I / O پن سے منسلک کرسکتے ہیں لیکن میں LRD کو پن P1.0 سے P2.1 سے جوڑا ہے اور جیسا کہ اوپر دکھایا گیا ہے بالترتیب 1 اور 2 کو P2.4 اور P2.3 میں پن سے جوڑا ہے۔
ایل ای ڈی کے تمام کیتھڈ پنوں کو زمین سے باندھا گیا ہے اور انوڈ پن کو ایک ریزسٹر کے ذریعہ I / O پنوں سے منسلک کیا گیا ہے۔ اس ریزسٹر کو ایک کرنٹ لیمٹنگ ریزٹر کہا جاتا ہے ، یہ ریسپٹر ایم ایس پی 430 کے لئے لازمی نہیں ہے کیونکہ زیادہ سے زیادہ موجودہ جس کا I / O پن ذریعہ کرسکتا ہے وہ صرف 6 ایم اے ہے اور پن پر وولٹیج صرف 3.6V ہے۔ تاہم ان کا استعمال کرنا ایک عمدہ عمل ہے۔ جب ان میں سے کوئی ڈیجیٹل پن زیادہ ہوجائے تو متعلقہ ایل ای ڈی آن ہو جائے گا۔ اگر آپ آخری ٹیوٹوریل ایل ای ڈی پروگرام کو یاد کرسکتے ہیں ، تو آپ کو یاد ہوگا کہ ڈیجیٹل رائٹ ( ایل ای ڈی_پن_نظام ، ایچ ای ٹی ) ایل ای ڈی کو چمک دے گی اور ڈیجیٹل رائٹ ( ایل ای ڈی_پن_ نام ، LOW) ایل ای ڈی کو موڑ دے گی۔
سوئچز ان پٹ ڈیوائس ہیں ، سوئچ کا ایک سرا. گراؤنڈ ٹرمینل سے جڑا ہوا ہے اور دوسرا ڈیجیٹل پن P2.3 اور P2.4 سے جڑا ہوا ہے۔ اس کا مطلب یہ ہے کہ جب بھی ہم سوئچ کو دبائیں گے I / O پن (2.3 یا 2.4) گراونڈ ہو جائے گا اور بٹن دبایا نہیں گیا تو آزاد چھوڑ دیا جائے گا۔ آئیے دیکھیں کہ پروگرامنگ کے دوران ہم اس انتظام کو کس طرح استعمال کرسکتے ہیں۔
پروگرامنگ کی وضاحت:
8 ایل ای ڈی کو تسلسل کے انداز میں کنٹرول کرنے کے لئے پروگرام لکھا جانا ہے جب سوئچ 1 دبایا جاتا ہے اور پھر جب سوئچ 2 دب جاتا ہے تو تسلسل کو تبدیل کرنا ہوتا ہے۔ مکمل پروگرام اور مظاہرے ویڈیو اس صفحے کے نچلے حصے میں پایا جا سکتا ہے. مزید نیچے میں پروگرام لائن کو لائن کے ذریعہ وضاحت کروں گا تاکہ آپ اسے آسانی سے سمجھ سکیں۔
ہمیشہ کی طرح ہمیں باطل سیٹ اپ () فنکشن سے شروع کرنا چاہئے جس کے اندر ہم ان پنوں کا اعلان کریں جو ہم استعمال کر رہے ہیں ان پٹ یا آؤٹ پٹ پن ہے۔ ہمارے پروگرام میں 8 ایل ای ڈی پن آؤٹ پٹ ہیں اور 2 سوئچ ان پٹ ہیں۔ یہ 8 ایل ای ڈی P1.0 سے P2.1 سے منسلک ہیں جو بورڈ میں پن نمبر 2 سے 9 ہیں۔ پھر سوئچز P2.3 اور پن 2.4 سے منسلک ہوتے ہیں جو بالترتیب پن نمبر 11 اور 12 ہے۔ لہذا ہم نے باطل ترتیب میں مندرجہ ذیل اعلان کیا ہے ()
باطل سیٹ اپ () {for (int i = 2؛ i <= 9؛ i ++) {پن موڈ (i، OUTPUT)؛ int کے لئے (INT i = 2؛ i <= 9؛ i ++) {ڈیجیٹل رائٹ (i ، LOW)؛ } پن موڈ (11 ، INPUT_PULLUP)؛ پن موڈ (12 ، INPUT_PULLUP)؛ }
جیسا کہ ہم جانتے pinMode کا () تقریب پیداوار یا ان پٹ اور بننے کے لئے پن کی یہ وانی digitalWrite () تقریب یہ اعلی (ON) یا کم (بند) ہوتا ہے. لائنوں کی تعداد کم کرنے کے لئے ہم نے یہ اعلان کرنے کے لئے ایک فار لوپ کا استعمال کیا ہے ۔ متغیر "میں" میں 9 2 سے incremented کیا جائے گا کے لئے لوپ اور ہر ایک اضافہ کے لئے تقریب کے اندر پھانسی دے دی جائے گی. ایک اور چیز جو آپ کو الجھ سکتی ہے وہ اصطلاح ہے " INPUT_PULLUP "۔ ایک پن کو صرف فنکشن پن موڈ (پن_ نام ، INPUT) پر فون کرکے ان پٹ کے طور پر اعلان کیا جاسکتا ہے لیکن یہاں ہم نے INPUT کی بجائے INPUT_PULLUP استعمال کیا ہے اور ان دونوں میں نمایاں تبدیلی واقع ہوئی ہے۔
جب ہم کسی بھی مائکرو قابو پانے والے پنوں کو استعمال کر رہے ہیں تو ، پن کو یا تو کم سے منسلک ہونا چاہئے۔ اس صورت میں پن 11 اور 12 سوئچ سے منسلک ہے جو دبایا جانے پر زمین سے منسلک ہوگا۔ لیکن جب سوئچ کو دبایا نہیں جاتا ہے تو پن کسی بھی چیز سے منسلک نہیں ہوتا ہے اس حالت کو فلوٹنگ پن کہا جاتا ہے اور مائکروکونٹرولرز کے لئے یہ برا ہے۔ لہذا اس سے بچنے کے ل we ہم یا تو پل کو اپ یا پل-ڈاون ریزٹر استعمال کرتے ہیں جب پن کو ریاست میں رکھنا ہوتا ہے جب یہ تیرتا ہوا ہوجاتا ہے۔ ایم ایس پی 430 جی 2553 مائکروکانٹرولر میں I / O پنوں میں پل-اپ ریزٹر ہے ۔ اس کو استعمال کرنے کے لئے ہمیں اعلان کے دوران INPU کی بجائے INPUT_PULLUP پر کال کرنا ہے جیسے ڈبلیو نے کیا ہے۔
اب باطل لوپ () فنکشن میں قدم رکھنے دیتا ہے۔ اس فنکشن میں جو بھی لکھا گیا ہے اسے ہمیشہ کے لئے نافذ کیا جائے گا۔ ہمارے پروگرام میں پہلا قدم یہ ہے کہ آیا سوئچ دبایا گیا ہے یا نہیں اور اگر دبائیں تو ہمیں ایل ای ڈی کو یکساں طور پر جھپکانا شروع کرنا چاہئے۔ بٹن دبائے ہوئے ہیں یا نہیں اس کی جانچ کے لئے درج ذیل لائن استعمال کی گئی ہے
اگر (ڈیجیٹل ریڈ (12) == کم)
یہاں نیا فنکشن ڈیجیٹل ریڈ () فنکشن ہے ، یہ فنکشن ڈیجیٹل پن کی حیثیت کو پڑھے گا اور پن کو کچھ وولٹیج ملنے پر ہائی (1) لوٹ آئے گا اور جب پن گرائونڈ ہو تو کم لو (0) لوٹ آئے گا ۔ ہمارے ہارڈویئر میں ، پن صرف اسی وقت گراؤنڈ کیا جائے گا جب ہم بٹن دبائیں بصورت دیگر یہ زیادہ ہوگا کیونکہ ہم نے پل اپ ریزسٹر استعمال کیا ہے۔ لہذا ہم اگر اس بٹن کو دبا رہے ہیں تو جانچنے کے لئے if بیان کا استعمال کرتے ہیں ۔
ایک بار بٹن دبایا جاتا ہے تو ہم لامحدود میں داخل ہوجاتے ہیں جبکہ (1) لوپ ہوجاتے ہیں۔ یہ وہ جگہ ہے جہاں ہم یلئڈیوں کو یکساں طور پر چمکانا شروع کرتے ہیں۔ نیچے ایک لامحدود لوپ دکھایا گیا ہے اور لوپ کے اندر جو کچھ لکھا گیا ہے وہ وقفے تک ہمیشہ کے لئے چلتا رہے گا۔ بیان استعمال کیا جاتا ہے۔
وہیل (1)}
لامحدود کے اندر جب ہم دوسرے سوئچ کی حیثیت کی جانچ کرتے ہیں جو پن 11 سے منسلک ہوتا ہے ۔
اگر اس سوئچ کو دبایا جاتا ہے تو ہم ایک خاص ترتیب میں ایل ای ڈی کو ٹمٹماتے ہیں ورنہ ہم اسے دوسرے تسلسل میں پلک جھپکاتے ہیں۔
اگر (ڈیجیٹل ریڈ (11) == LOW) {for (INT i = 2؛ i <= 9؛ i ++) {ڈیجیٹل رائٹ (i، HIGH)؛ تاخیر (100)؛ int کے لئے (INT i = 2؛ i <= 9؛ i ++) ڈیجیٹل رائٹ (i ، LOW)؛ }
کرنے کے لئے ایل ای ڈی تسلسل میں پلکیں جھپکاتی ہم دوبارہ استعمال کے لئے لوپ، لیکن اس وقت ہم استعمال کر 100 ملی سیکنڈز کی ایک چھوٹی سی تاخیر کو استعمال تاخیر (100) تقریب تاکہ ہم یلئڈی ہو رہی اعلی محسوس کر سکتے ہیں. ایک وقت میں صرف ایک ایل ای ڈی چمکنے کے ل we ، ہم لوپ کے لئے ایک اور ایل ای ڈی کو بند کرنے کے لئے بھی دوسرا استعمال کرتے ہیں ۔ لہذا ہم کچھ دیر کے لئے قیادت میں انتظار کرتے ہیں اور پھر تمام ایل ای ڈی کو بند کردیتے ہیں اور پھر کچھ وقت کے لئے ایل ای ڈی انتظار پر گنتی کی باری میں اضافہ ہوتا ہے اور یہ سلسلہ چلتا رہتا ہے۔ لیکن جب تک دوسرا سوئچ دبایا نہیں جاتا ہے تب تک یہ سب ہوگا۔
اگر دوسرا سوئچ دبایا جاتا ہے تو ہم تسلسل کو تبدیل کرتے ہیں ، پروگرام جس ترتیب کے ایل ای ڈی کو آن کیا جاتا ہے اس کی کم و بیش ایک ہی توقع ہوگی۔ لائنوں کو ذیل میں ایک نظر ڈالنے اور معلوم کرنے کی کوشش کی گئی ہے کہ کیا بدلا گیا ہے۔
نہیں {کے لئے (INT i = 9؛ i> = 2؛ i--) {ڈیجیٹل رائٹ (i ، HIGH)؛ تاخیر (100)؛ int کے لئے (INT i = 2؛ i <= 9؛ i ++) ڈیجیٹل رائٹ (i ، LOW)؛ }
جی ہاں، کے لئے لوپ تبدیل کر دیا گیا ہے. پہلے ہم نے ایل ای ڈی کو نمبر 2 سے چمکنے کے ل made اور تمام راستہ 9 تک لے لیا تھا۔ لیکن اب ہم نمبر 9 سے شروع کرنے جا رہے ہیں اور تمام راستے سے 2 تک کم ہو جائیں گے۔ اس طرح ہم محسوس کرسکتے ہیں کہ اگر سوئچ دبا ہوا ہے یا نہیں۔
ٹمٹمانے ایل ای ڈی تسلسل کے لئے ہارڈ ویئر سیٹ اپ:
ٹھیک ہے تمام تھیوری اور سافٹ ویئر کا حصہ کافی ہے۔ آئیے ، کچھ اجزاء حاصل کریں اور دیکھیں کہ یہ پروگرام کس طرح کام کرتا ہے۔ سرکٹ بہت آسان ہے اور اسی وجہ سے ایک بریڈ بورڈ پر آسانی سے بنایا جاسکتا ہے۔ لیکن میں نے ایل ای ڈی سولڈرڈ کیا ہے اور پرف بورڈ پر سوئچ صرف اس کو صاف نظر آنے کے ل.۔ پرف بورڈ جو میں نے سولڈرڈ کیا وہ نیچے دکھایا گیا ہے۔
جیسا کہ آپ دیکھ سکتے ہیں کہ ہمارے پاس ایل ای ڈی کی آؤٹ پٹ پن ہے اور کنیکٹر پن کے طور پر باہر سوئچ لیا گیا ہے۔ اب ہم ایل ای ڈی اور سوئچز کو MSP430 لانچ پیڈ بورڈ سے مربوط کرنے کے لئے خواتین سے خواتین کے کنیکٹر تاروں کا استعمال کر رہے ہیں جیسا کہ ذیل کی تصویر میں دکھایا گیا ہے۔
اپ لوڈ اور کام کرنا:
ایک بار جب آپ ہارڈ ویئر کے ساتھ کام کر لیں ، تو آپ اپنے کمپیوٹر سے MSP430 بورڈ منسلک کریں اور انرجیہ IDE کھولیں اور اس صفحے کے آخر میں دیا ہوا پروگرام استعمال کریں۔ یقینی بنائیں کہ دائیں بورڈ اور COM پورٹ کا انتخاب انرجیہ IDE میں کیا گیا ہے اور اپلوڈ کے بٹن پر کلک کریں۔ پروگرام کامیابی کے ساتھ مرتب ہونا چاہئے اور ایک بار اپ لوڈ ہونے کے بعد "مکمل ہو رہا ہے" دکھائے گا ۔
اب بورڈ پر موجود بٹن 1 کو دبائیں اور ایل ای ڈی کو نیچے دکھائے جانے والے ترتیب میں روشنی ہونا چاہئے
آپ دوسرا بٹن بھی پکڑ سکتے ہیں تاکہ یہ چیک کریں کہ کیا تسلسل تبدیل ہو رہا ہے ۔ منصوبے کا مکمل کام ذیل ویڈیو میں دکھایا گیا ہے ۔ اگر آپ نتائج سے مطمئن ہیں تو آپ کوڈ میں کچھ تبدیلیاں کرنے کی کوشش کر سکتے ہیں جیسے تسلسل کو تبدیل کرنے میں تاخیر کے وقت کو تبدیل کرنا وغیرہ۔ اس سے آپ کو بہتر طریقے سے سیکھنے اور سمجھنے میں مدد ملے گی۔
امید ہے کہ آپ سبق کو سمجھ گئے ہوں گے اور اس کے ساتھ کوئی مفید چیز سیکھی ہو گی۔ اگر آپ کو کسی پریشانی کا سامنا کرنا پڑا تو براہ کرم بغیر کسی تبصرہ کے سیکشن میں سوال پوسٹ کریں یا فورمز کا استعمال کریں۔ آئیے ایک اور ٹیوٹوریل میں ملیں جہاں ہمارے ایم ایس پی 30 لانچ پیڈ کا استعمال کرتے ہوئے ینالاگ وولٹیجس کو پڑھنے کا طریقہ سیکھیں گے۔