- مداخلت کی اقسام
- ارڈینو میں رکاوٹیں
- ارڈینو میں رکاوٹیں استعمال کرنا
- ضروری اجزاء
- سرکٹ ڈایاگرام
- اردوینو انٹراپٹ پروگرامنگ
- اردوینو رکاوٹ مظاہرہ
تیزرفتاری سے چلنے والی کار پر غور کریں ، اگر یہ اچانک مخالف سمت سے کسی دوسری کار کی زد میں آجائے تو ، پہلا کام جو ہوتا ہے وہ یہ ہے کہ ، کار میں موجود ایکسلرومیٹر سینسر اچانک ڈی ایکسلریشن کا احساس کرتا ہے اور اس میں موجود مائکروقانع کنٹرولر کے لئے بیرونی مداخلت کا باعث بنتا ہے۔ کار. پھر اس رکاوٹ کی بنیاد پر مائکرو قابو پانے والا فوری طور پر ایر بیگ کو تعینات کرنے کے لئے برقی سگنل تیار کرتا ہے۔ کار میں موجود مائکروکنٹرولر بیک وقت بہت ساری چیزوں کی نگرانی کرتے ہیں جیسے کار کی رفتار کو محسوس کرنا ، دوسرے سینسروں کی جانچ کرنا ، ائیر کنڈیشنر درجہ حرارت پر قابو پانا وغیرہ۔ تو کیا سیکنڈوں میں اچانک ایر بیگ کھولا جاتا ہے؟ اس کا جواب رکاوٹ ہے ، یہاں ایک رکاوٹ سگنل استعمال ہوتا ہے جس میں سب کی ترجیح ہے۔
رکاوٹوں کی ایک اور آسان مثال ٹچ اسکرین موبائل فون ہے جو "ٹچ" کے معنی کو ترجیح دیتی ہے۔ تقریبا every ہر الیکٹرانک ڈیوائس میں باقاعدہ عمل کو 'مداخلت' کرنے اور کسی خاص واقعہ پر کچھ اعلی ترجیحی کاموں میں مداخلت کرنے کے لئے کچھ نہ کچھ مہربان ہوتا ہے۔ مداخلت کی خدمت کے بعد باقاعدہ عمل دوبارہ شروع کیا جاتا ہے۔
لہذا تکنیکی طور پر ، مداخلت ایک ایسا طریقہ کار ہے جس کے ذریعہ I / O یا ہدایات پروسیسر کی معمولی عملدرآمد معطل کرسکتی ہے اور خود ہی اس کی خدمت کی جاتی ہے جیسا کہ اس کو اعلی ترجیح حاصل ہے ۔ مثال کے طور پر ، کسی مخصوص عمل کو انجام دینے کے ل some کچھ سینسر کے ذریعہ عام طور پر عمل درآمد کرنے والے پروسیسر میں رکاوٹ پیدا ہوسکتی ہے جو ISR (مداخلت سروس روٹین) میں موجود ہے۔ عمل درآمد کے بعد آئی ایس آر پروسیسر دوبارہ عام عملدرآمد دوبارہ شروع کرسکتا ہے۔
مداخلت کی اقسام
مداخلت کی دو قسمیں ہیں:
ہارڈویئر رکاوٹ: ایسا ہوتا ہے جب بیرونی واقعہ ہوتا ہے جیسے بیرونی رکاوٹ پن اپنی حالت LOW سے HIGH یا HIGH to LOW میں تبدیل کرتا ہے۔
سافٹ ویئر رکاوٹ: یہ سافٹ ویئر کی ہدایت کے مطابق ہوتا ہے۔ مثال کے طور پر ٹائمر رکاوٹیں سافٹ ویئر رکاوٹ ہیں ۔
ارڈینو میں رکاوٹیں
اب ہم دیکھیں گے کہ آرڈینو بورڈ میں رکاوٹیں کس طرح استعمال کی جائیں ۔ اس میں دو قسم کی مداخلتیں ہیں:
- بیرونی مداخلت
- پن چینٹ رکاوٹ
بیرونی مداخلت:
یہ رکاوٹ ہارڈ ویئر سے تشریح کی جاتی ہے اور بہت تیز ہوتی ہے۔ ان رکاوٹوں کو RISING یا FALLING یا LOW کی سطح کی صورت میں ٹرگر کرنے کے لئے سیٹ کیا جاسکتا ہے۔
ارڈینو بورڈ |
بیرونی مداخلت کی پن: |
یو این او ، نانو |
2،3 |
میگا |
2،3،18،19،20،21 |
پن تبدیلی رکاوٹیں:
ارینڈوینو میں پن ردوبدل کی مداخلت کا استعمال کرکے مزید مداخلت والے پنوں کو فعال کیا جاسکتا ہے ۔ ATmega168 / 328 پر مبنی Ardino بورڈ میں کوئی پن یا تمام 20 سگنل پن رکھے ہوئے پنوں کے بطور استعمال ہوسکتے ہیں۔ انھیں RISING یا FALLING کناروں کا استعمال کرکے بھی متحرک کیا جاسکتا ہے۔
ارڈینو میں رکاوٹیں استعمال کرنا
ارڈینو میں خلل ڈالنے کے لئے درج ذیل تصورات کو سمجھنے کی ضرورت ہے۔
مداخلت کی خدمت کے معمولات (ISR)
رکاوٹ کی خدمت کا معمول یا ایک رکاوٹ ہینڈلر ایک ایسا واقعہ ہے جس میں چھوٹی چھوٹی ہدایات ہوتی ہیں۔ جب بیرونی مداخلت ہوتی ہے تو ، پروسیسر پہلے ان کوڈ پر عملدرآمد کرتا ہے جو ISR میں موجود ہے اور واپس ریاست میں واپس آجاتا ہے جہاں اس نے عام عملدرآمد چھوڑ دیا۔
آئی ایس آر کے اردوینو میں مندرجہ ذیل ترکیب موجود ہیں۔
منسلک انٹرپریٹ (ڈیجیٹلپن ٹن انٹریپٹ (پن) ، آئی ایس آر ، وضع) ؛
ڈیجیٹل پن ٹن انٹرپریٹ (پن): ارڈینو اونو میں ، نانو میں خلل ڈالنے کے لئے استعمال ہونے والی پنیں 2،3 اور میگا میں 2،3،18،19،20،21 ہیں۔ یہاں ان پٹ کی وضاحت کریں جو بیرونی مداخلت کے لئے استعمال ہوتا ہے۔
آئی ایس آر: یہ ایک ایسا فنکشن ہے جسے بیرونی مداخلت کرنے پر کہا جاتا ہے۔
موڈ: ٹرگر کرنے کے ل transition منتقلی کی قسم ، جیسے گرنا ، بڑھتا ہوا ، وغیرہ۔
- رسنگ: جب پن LOW سے HIGH کی طرف منتقل ہوتا ہے تو ایک رکاوٹ کو متحرک کرنا۔
- گرنا: جب پن HIGH سے LOW میں منتقل ہوتا ہے تو ایک رکاوٹ کو متحرک کرنا۔
- تبدیل کریں: جب پن LOW سے HIGH یا HIGH میں LOW ہوجاتا ہے (یعنی ، جب پن کی حالت بدل جاتی ہے)۔
مداخلت کا استعمال کرتے ہوئے کچھ شرائط
- مداخلت کی خدمت کے معمول کے کام (ISR) کو ممکن حد تک مختصر ہونا چاہئے۔
- تاخیر () فنکشن ISR کے اندر کام نہیں کرتا ہے اور اس سے گریز کیا جانا چاہئے۔
اس اردوینو انٹراپٹ ٹیوٹوریل میں ، ایک تعداد 0 سے بڑھا دی گئی ہے اور انٹراپٹ کو متحرک کرنے کے لئے دو پش بٹن استعمال کیے گئے ہیں ، ہر ایک D2 اور D3 سے جڑا ہوا ہے۔ مداخلت کی نشاندہی کرنے کے لئے ایک ایل ای ڈی استعمال کیا جاتا ہے۔ اگر ایک پش بٹن دبایا جاتا ہے تو لیڈ آن ہوجاتا ہے اور ڈسپلے انٹرپٹ 2 کو ظاہر کرتا ہے اور چلا جاتا ہے ، اور جب دوسرا پش بٹن دب جاتا ہے تو لیڈ بند ہوجاتا ہے اور ڈسپلے انٹرپٹ 1 کو ظاہر کرتا ہے اور چلا جاتا ہے۔
ضروری اجزاء
- آرڈینو بورڈ (اس ٹیوٹوریل میں آرڈینو نینو استعمال کیا جاتا ہے)
- پش بٹن - 2
- ایل ای ڈی - 1
- مزاحم (10 کے) - 2
- LCD (16x2) - 1
- روٹی بورڈ
- مربوط تاروں
سرکٹ ڈایاگرام
ارڈینو نینو اور 16x2 LCD ڈسپلے کے درمیان سرکٹ کنکشن:
LCD |
اردوینو نینو |
وی ایس ایس |
GND |
وی ڈی ڈی |
+ 5 وی |
V0 |
پوٹینومیٹر سینٹر کا PIN LCD کے برعکس کو کنٹرول کرنے کے ل. |
RS |
ڈی 7 |
آر ڈبلیو |
GND |
ای |
ڈی 8 |
ڈی 4 |
ڈی 9 |
ڈی 5 |
ڈی 10 |
ڈی 6 |
ڈی 11 |
ڈی 7 |
ڈی 12 |
A |
+ 5 وی |
K |
GND |
پن D2 اور D3 پر دو پش بٹن ارڈینو نینو سے جڑے ہوئے ہیں ۔ وہ دو بیرونی مداخلتیں استعمال کرنے کے لئے استعمال ہوتے ہیں ، ایک ایل ای ڈی کو موڑنے کے ل and اور دوسرا ایل ای ڈی بند کرنے کے ل for۔ ہر پش بٹن میں 10k کا پل ڈاون ریزٹر ہوتا ہے جو زمین سے جڑا ہوا ہے۔ لہذا جب جب پش بٹن دبایا جاتا ہے تو یہ منطق ہے ہائی (1) اور جب دبایا نہیں جاتا تو یہ منطق کم (0) ہے۔ پل ڈاون ریزٹر لازمی ہے ورنہ ان پٹ پن D2 اور D3 پر تیرتی قدریں ہوں گی۔
ایک ایل ای ڈی بھی اس بات کی نشاندہی کرنے کے لئے ہے کہ ایک مداخلت کو متحرک کیا گیا ہے استعمال کیا جاتا ہے یا ایک بٹن دبایا گیا ہے.
اردوینو انٹراپٹ پروگرامنگ
اس ٹیوٹوریل میں ایک تعداد 0 سے بڑھا دی گئی ہے جو مسلسل (16x2) ایل ڈی سی میں دکھاتا ہے جس میں ارڈینو نینو سے منسلک ہوتا ہے ، جب بھی بائیں دبانے والے بٹن (رکاوٹ پن D3) پر دباؤ ہوتا ہے تو ایل ای ڈی چلا جاتا ہے اور ڈسپلے انٹراپٹ 2 کو ظاہر کرتا ہے ، اور جب دائیں دھکا بٹن ہوتا ہے۔ (رکاوٹ پن D2) پر دباؤ ہے ایل ای ڈی بند ہے اور ڈسپلے دکھاتا ہے انٹراپٹ 1۔
اس ٹیوٹوریل کے آخر میں ایک ورکنگ ویڈیو والا مکمل کوڈ دیا گیا ہے۔
1. سب سے پہلے LCD ڈسپلے کے لئے ہیڈر فائل شامل کی گئی ہے اور پھر LCD پن جو Ardino Nano کے ساتھ مربوط ہونے میں استعمال ہوتے ہیں ان کی وضاحت کی جاتی ہے۔
# شامل کریں
2. باطل سیٹ اپ () فنکشن کے اندر ، پہلے LCD ڈسپلے پر کچھ انٹرو میسج ڈسپلے کریں۔ اردوینو کے ساتھ LCD میں مداخلت کرنے کے بارے میں مزید معلومات حاصل کریں۔
lcd.begin (16،2)؛ lcd.setCursor (0،0)؛ lcd.print ("سرکٹ ڈائجسٹ")؛ lcd.setCursor (0،1)؛ lcd.print ("ArdinoInterrupt")؛ تاخیر (3000)؛ lcd.clear ()؛
3. پھر اسی باطل سیٹ اپ () فنکشن میں ان پٹ اور آؤٹ پٹ پن کو واضح کرنا ضروری ہے۔ پن D13 ایل ای ڈی کے انوڈ سے منسلک ہے ، لہذا اس پن کو آؤٹ پٹ کے طور پر بیان کرنا ضروری ہے۔
پن موڈ (13 ، آؤٹپٹ)؛
Now. اب پروگرامنگ کا بنیادی اہم حصہ آتا ہے جو منسلکہ (تقریب) ہوتا ہے ، (یہ) باطل سیٹ اپ () کے اندر بھی شامل ہوتا ہے۔
اٹینٹ انٹرپریٹ (ڈیجیٹلپن ٹن انٹریپٹ (2) ، بٹن پریڈ 1 ، رائزنگ)؛ اٹینٹ انٹرپریٹ (ڈیجیٹلپن ٹن انٹریپٹ (3) ، بٹن پریڈ 2 ، رائزنگ)؛
یہاں یہ وضاحت کی ہے کہ پن 2 بیرونی مداخلت کے لئے ہے، اور buttonPressed1 (ہائی کم) D2 پن میں نے اضافہ ہو رہا ہے جب تقریب کہا جاتا ہے. اور پن 3 بیرونی رکاوٹ کے لئے بھی ہے اور جب D3 پن پر RISING ہوتی ہے تو بٹن پریڈ 2 فنکشن کہا جاتا ہے۔
5. باطل لوپ () کے اندر ، ایک نمبر (i) کو صفر سے بڑھایا جاتا ہے اور LCD (16x2) پر پرنٹ کیا جاتا ہے۔
lcd.clear ()؛ lcd.print ("کاونٹر:")؛ lcd.print (i)؛ ++ i؛ تاخیر (1000)؛
اسی باطل لوپ () میں ، ڈیجیٹل رائٹ () پن D13 پر استعمال ہوتا ہے جہاں ایل ای ڈی کا انوڈ منسلک ہوتا ہے۔ متغیر آؤٹ پٹ میں قیمت پر منحصر ہے ایل ای ڈی آن یا آف ہو جائے گا
ڈیجیٹل رائٹ (13 ، آؤٹ پٹ)؛
6. سب سے اہم حصہ اس نام کے مطابق ایک رکاوٹ ہینڈلر فنکشن تشکیل دے رہا ہے جو اٹیچ انٹرپروٹ () فنکشن میں استعمال ہوتا ہے۔
چونکہ دو رکاوٹ پنوں کو 2 اور 3 استعمال کیا جاتا ہے لہذا دو ISR کی ضرورت ہے۔ یہاں اس پروگرامنگ میں مندرجہ ذیل آئی ایس آر استعمال کیے گئے ہیں
بٹن دباؤ 1 ():
باطل بٹن دباؤ 1 () { آؤٹ پٹ = کم؛ lcd.setCursor (0،1)؛ lcd.print ("مداخلت 1")؛ }
جب پن D2 پر پش بٹن دبائے جاتے ہیں تو اس فنکشن کا اطلاق ہوتا ہے (بڑھتے ہوئے ایج)۔ یہ فنکشن آؤٹ پٹ کی حالت کو LOW میں تبدیل کرتا ہے جس کی وجہ سے ایل ای ڈی بند ہوجاتا ہے اور LCD ڈسپلے پر "انٹرپراٹ 1" پرنٹ ہوتا ہے۔
بٹن دباؤ 2 ():
باطل بٹن دبائے 2 () {آؤٹ پٹ = ہائی؛ lcd.setCursor (0،1)؛ lcd.print ("انٹرپٹٹ 2")؛ }
جب پن D3 پر پش بٹن دب جاتا ہے تو اس فنکشن کا اطلاق ہوتا ہے۔ یہ فنکشن آؤٹ پٹ کی حالت کو HIGH میں تبدیل کرتا ہے جس کی وجہ سے ایل ای ڈی آن ہوجاتا ہے اور LCD ڈسپلے پر "انٹرپٹٹ 2" پرنٹ ہوتا ہے۔
اردوینو رکاوٹ مظاہرہ
1. جب بائیں طرف پش بٹن دب جاتا ہے تو ایل ای ڈی چلتا ہے اور LCD انٹراپٹ 2 کو دکھاتا ہے۔
2. جب دائیں طرف پش بٹن دبایا جاتا ہے تو ایل ای ڈی بند ہوجاتا ہے اور LCD انٹراپٹ 1 کو ظاہر کرتا ہے
عام پھانسی کے درمیان کسی اہم کام کو متحرک کرنے کے لئے اس طرح ایک رکاوٹ فائدہ مند ثابت ہوسکتا ہے۔