- مواد کی ضرورت ہے
- جوائسک ماڈیول کو سمجھنا:
- سرکٹ ڈایاگرام:
- جوائس اسٹک کو مداخلت کرنے کے لئے پروگرامنگ:
- نقلی نظارہ:
- ہارڈ ویئر اور کام کرنا:
الیکٹرانکس کے کسی بھی پروجیکٹ میں ان پٹ آلات اہم کردار ادا کرتے ہیں۔ یہ ان پٹ آلہ صارف کو ڈیجیٹل دنیا کے ساتھ تعامل کرنے میں مدد کرتا ہے۔ ان پٹ آلہ اتنا آسان ہوسکتا ہے جیسے پش بٹن یا ٹچ اسکرین جتنا پیچیدہ ہو۔ اس منصوبے کی ضرورت کے مطابق مختلف ہوتی ہے۔ اس ٹیوٹوریل میں ہم اپنے پی آئی سی مائکروقابو کنٹرولر کے ساتھ جوائس اسٹک کو انٹرفیس کرنے کا طریقہ سیکھ رہے ہیں ، ڈیجیٹل دنیا کے ساتھ تعامل کرنے کا ایک جوائس اسٹک ایک عمدہ طریقہ ہے اور تقریبا almost ہر شخص اپنی نوعمری کے زمانے میں ویڈیو گیم کھیلنے کے لئے استعمال ہوتا تھا۔
ایک جوائس اسٹک ایک نفیس آلہ لگ سکتا ہے ، لیکن یہ در حقیقت دو پوٹینومیٹر اور ایک پش بٹن کا مجموعہ ہے۔ لہذا کسی بھی ایم سی یو کے ساتھ انٹرفیس کرنا بھی بہت آسان ہے بشرطیکہ ہم جان لیں کہ اس ایم سی یو کی اے ڈی سی خصوصیت کو کس طرح استعمال کرنا ہے۔ ہم نے پہلے ہی پی آئی سی کے ساتھ اے ڈی سی کو استعمال کرنے کا طریقہ سیکھا ہے ، لہذا جوائس اسٹک میں مداخلت کرنے کے لئے یہ محض ایک کام ہوگا۔ پروجیکٹ کو سمجھنے میں آسانی پیدا کرنے کے ل people مذکورہ بالا ADC پروجیکٹ کے ساتھ ساتھ ایل ای ڈی پلکنے والی ترتیب پروجیکٹ سیکھنے کی سفارش کی جاتی ہے۔
مواد کی ضرورت ہے
- پروگرامنگ کے لئے PicKit 3
- خوشی چھڑی ماڈیول
- PIC16F877A IC
- 40 - پن آئی سی ہولڈر
- کامل بورڈ
- 20 میگا ہرٹز کرسٹل او ایس سی
- برگسٹک پن
- 220 ہیم مزاحم
- کسی بھی رنگ کی 5 ایل ای ڈی
- 1 سولڈرنگ کٹ
- آئی سی 7805
- 12V اڈاپٹر
- مربوط تاروں
- بریڈ بورڈ
جوائسک ماڈیول کو سمجھنا:
جوائس اسٹکس مختلف اشکال اور سائز میں دستیاب ہیں۔ ذیل میں دیئے گئے اعداد و شمار میں ایک جوائس کا ایک عام ماڈیول دکھایا گیا ہے۔ ایک جوائس اسٹک اسمارٹ میکانیکل انتظامات پر لگائے جانے والے کچھ پوٹینومیٹر اور پش بٹن کے سوا کچھ نہیں ہے۔ پوٹینومیٹر جوائس اسٹک کے X اور Y کی نقل و حرکت کو ٹریک رکھنے کے لئے استعمال ہوتا ہے اور اگر بائیس اسٹک دبایا جاتا ہے تو بٹن بطور احساس استعمال ہوتا ہے۔ دونوں پوٹینومیٹر ایک ینالاگ وولٹیج آؤٹ کرتے ہیں جو جوائس اسٹک کی پوزیشن پر منحصر ہوتا ہے۔ اور ہم کچھ مائکروکنٹرولر کا استعمال کرکے ان وولٹیج کی تبدیلیوں کی ترجمانی کرکے تحریک کی سمت حاصل کرسکتے ہیں۔ اس سے قبل ہم نے جوی اسٹک کو اے وی آر ، جوائس اسٹک کے ساتھ آرڈینو اور راسبیری پائی کے ساتھ انٹرفیس کیا۔
کسی بھی سینسر یا ماڈیول کو مائکروکنٹرولر کے ساتھ مداخلت کرنے سے پہلے یہ جاننا ضروری ہے کہ یہ کس طرح کام کرتا ہے۔ یہاں ہماری جوائس اسٹک میں 5 آؤٹ پٹ پن ہیں جن میں سے دو پاور کے لئے اور تین ڈیٹا کیلئے ہیں۔ ماڈیول + 5V کے ساتھ چلنا چاہئے۔ ڈیٹا پنوں کو VRX ، VRY اور SW کا نام دیا گیا ہے۔
"VRX" کی اصطلاح ایکس محور پر متغیر وولٹیج کے لئے ہے اور "VRY" کی اصطلاح Y محور میں متغیر وولٹیج کی حیثیت رکھتی ہے اور "SW" سوئچ کا مطلب ہے۔
لہذا جب ہم جوائس اسٹک کو بائیں یا دائیں طرف منتقل کرتے ہیں تو VRX پر وولٹیج کی قیمت مختلف ہوگی اور جب ہم اس کو اوپر یا نیچے کرتے ہیں تو VRY مختلف ہوگی۔ اسی طرح جب ہم اسے ترچھی حرکت دیتے ہیں تو ہم VRX اور VRY دونوں مختلف ہوں گے۔ جب ہم سوئچ دبائیں تو SW پن زمین سے منسلک ہوجائے گا۔ مندرجہ ذیل اعداد و شمار آپ کو آؤٹ پٹ کی قدروں کو بہتر سمجھنے میں مدد فراہم کرے گا
سرکٹ ڈایاگرام:
اب جب ہم جانتے ہیں کہ جوی اسٹک کس طرح کام کرتی ہے ، ہم اس نتیجے پر پہنچ سکتے ہیں کہ جوائسک ماڈیول کے تینوں ڈیٹا پن کو پڑھنے کے لئے ہمیں دو ADC پنوں اور ایک ڈیجیٹل ان پٹ پن کی ضرورت ہوگی۔ مکمل سرکٹ ڈایاگرام نیچے کی تصویر میں دکھایا گیا ہے
جیسا کہ آپ سرکٹ ڈایاگرام میں دیکھ سکتے ہیں ، جوائس اسٹک کے بجائے ہم نے دو پوٹینومیٹر RV1 اور RV3 کو ینالاگ وولٹیج ان پٹ اور سوئچ کے لئے ایک منطق ان پٹ کے طور پر استعمال کیا ہے۔ پنوں کے ناموں کو مماثل بنانے اور اس کے مطابق اپنے رابطے کرنے کے لئے آپ وایلیٹ رنگ میں لکھے ہوئے لیبلوں کی پیروی کرسکتے ہیں۔
نوٹ کریں کہ ینالاگ پنز چینلز A0 اور A1 سے جڑے ہوئے ہیں اور ڈیجیٹل سوئچ RB0 سے منسلک ہے۔ ہمارے پاس 5 ایل ای ڈی لائٹس بھی آؤٹ پٹ کے بطور منسلک ہوں گی ، تاکہ ہم جوش اسٹک کی سمت کی سمت کی بنیاد پر ایک چمک سکے۔ لہذا یہ آؤٹ پٹ پن PCT C سے RC0 سے RC4 سے جڑے ہوئے ہیں۔ ایک بار جب ہم نے اپنے سرکٹ ڈایاگرام کو پین کیا ہے تو ہم پروگرامنگ کے ساتھ آگے بڑھ سکتے ہیں ، پھر اس سرکٹ پر پروگرام کی نقالی بنائیں ، پھر بریڈ بورڈ پر سرکٹ بنائیں اور پھر پروگرام کو ہارڈ ویئر پر اپ لوڈ کریں۔ مندرجہ بالا کنکشن بنانے کے بعد آپ کو ایک خیال دینے کے لئے میرا ہارڈ ویئر نیچے دکھایا گیا ہے
جوائس اسٹک کو مداخلت کرنے کے لئے پروگرامنگ:
پی آئی سی کے ساتھ جوائس اسٹک کو انٹرفیس کرنے کا پروگرام آسان اور سیدھا آگے ہے۔ ہم پہلے ہی جان چکے ہیں کہ جوائسک کن پنوں سے منسلک ہے اور ان کا فنکشن کیا ہے ، لہذا ہمیں صرف پنوں سے اینالاگ وولٹیج پڑھنا ہے اور اسی کے مطابق آؤٹ پٹ ایل ای ڈی کو کنٹرول کرنا ہے۔
ایسا کرنے کا مکمل پروگرام اس دستاویز کے آخر میں دیا گیا ہے ، لیکن چیزوں کی وضاحت کے لئے میں ذیل میں چھوٹے معنی خیز ٹکڑوں میں کوڈ توڑ رہا ہوں۔
ہمیشہ کی طرح ، ترتیب بٹس کو ترتیب دے کر پروگرام شروع کیا جاتا ہے ، ہم کنفیگریشن بٹس ترتیب دینے کے بارے میں زیادہ بات نہیں کریں گے کیونکہ ہم اسے ایل ای ڈی پلکنے والے منصوبے میں پہلے ہی سیکھ چکے ہیں اور اس منصوبے میں بھی وہی ہے۔ ایک بار جب کنفیگریشن بٹس سیٹ ہوجائیں تو ہمیں اپنی PIC میں ADC ماڈیول استعمال کرنے کے لئے ADC افعال کی وضاحت کرنی ہوگی۔ ان فنکشن سے یہ بھی سیکھا گیا کہ اے ڈی سی کو پی آئی سی ٹیوٹوریل کے ساتھ کیسے استعمال کیا جائے۔ اس کے بعد ، ہم نے اعلان کرنا ہے کہ کون سی پن ان پٹ ہے اور کون سی آؤٹ پٹ۔ یہاں ایل ای ڈی PORTC سے منسلک ہے لہذا وہ آؤٹ پٹ پن ہیں اور جوائسک کا سوئچ پن ایک ڈیجیٹل ان پٹ پن ہے۔ لہذا ہم اسی اعلان کے لئے مندرجہ ذیل لائنوں کا استعمال کرتے ہیں۔
// ***** I / O تشکیل **** // TRISC = 0X00؛ // پورٹ سی کو آؤٹ پٹ پورٹس کے طور پر استعمال کیا جاتا ہے PORTC = 0X00؛ // تمام پن کم کریں TRISB0 = 1؛ // RB0 ان پٹ کے بطور استعمال ہوتا ہے // *** I / O ترتیب کا اختتام ** ///
اے ڈی سی پنوں ان پٹ کے طور پر بیان نہیں کی ضرورت ہے اے ڈی سی تقریب جو ان پٹ پن کے طور پر تفویض کیا جائے گا کا استعمال کرتے ہوئے جب وہ کیونکہ پنوں. ایک بار جب پنوں کی تعریف ہوجائے تو ، ہم ADC_initialize فنکشن کہہ سکتے ہیں جس کی وضاحت ہم نے پہلے کی ہے۔ اس فنکشن سے مطلوبہ اے ڈی سی رجسٹرز مرتب ہوں گے اور اے ڈی سی ماڈیول تیار ہوگا۔
ADC_Initialize ()؛ // ADC ماڈیول تشکیل دیں
اب ، ہم لوپ کرتے ہوئے اپنے لامحدود میں قدم رکھتے ہیں ۔ اس لوپ کے اندر ہمیں VRX ، VRY اور SW کی اقدار پر نظر رکھنی ہے اور ان اقدار کی بنیاد پر جو ہمیں قیادت کی پیداوار کو کنٹرول کرنا ہے ۔ ہم ذیل لائنوں کا استعمال کرکے VRX اور VRY کے ینالاگ وولٹیج کو پڑھ کر نگرانی کا عمل شروع کرسکتے ہیں
int joy_X = (ADC_Redad (0))؛ // جوائس اسٹک ان مسرت کا ایکس محور پڑھیں _ خوشی_ Y = (ADC_Read (1))؛ // جوائسک کا Y-Axis پڑھیں
یہ لائن متغیر خوشی_ X اور خوشی_Y میں بالترتیب VRX اور VRY کی قدر کو بچائے گی ۔ فنکشن ADC_Read (0) کا مطلب ہے کہ ہم چینل 0 سے ADC ویلیو پڑھ رہے ہیں جو پن A0 ہے۔ ہم نے A0 اور A1 کو پن کرنے کے لئے VRX اور VRY کو مربوط کیا ہے اور لہذا ہم 0 اور 1 سے پڑھتے ہیں۔
اگر آپ ہمارے ADC ٹیوٹوریل سے باز آ سکتے ہیں تو ہم جانتے ہیں کہ ہم اینالاگ وولٹیج پڑھتے ہیں PIC ڈیجیٹل ڈیوائس ہونے کی وجہ سے اسے 0 سے 1023 تک پڑھے گا۔ یہ قیمت جوائس اسٹک ماڈیول کی پوزیشن پر منحصر ہے۔ آپ مذکورہ لیبل آریھ کو جاننے کے ل can جان بوجھ کے ہر مقام کے ل position کس قدر کی توقع کرسکتے ہیں۔
یہاں میں نے 200 کی حد قدر کو نچلی حد کے طور پر اور 800 کی قدر کو بالائی حد کے طور پر استعمال کیا ہے ۔ آپ جو چاہیں استعمال کرسکتے ہیں۔ تو آئیے ان اقدار کو استعمال کریں اور اسی کے مطابق ایل ای ڈی کو چمکانا شروع کریں ۔ اس کے ل we ، ہمیں آئی ایف لوپ کا استعمال کرتے ہوئے پہلے سے طے شدہ اقدار کے ساتھ جوی_ ایکس کی قیمت کا موازنہ کرنا ہے اور ایل ای ڈی پنوں کو اونچائی یا نیچے بنانا ہے جیسا کہ ذیل میں دکھایا گیا ہے۔ تبصرے کی لائنیں آپ کو بہتر سمجھنے میں مدد فراہم کریں گی
if (joy_X <200) // خوشی بڑھ گئی {RC0 = 0؛ آر سی 1 = 1؛} // اگر ایل ای ڈی ایل ای ڈی چمکائیں (جوش_ ایکس> 800) // جوی نیچے چلا گیا {RC0 = 1؛ آر سی 1 = 0؛} // گلو لوئر ایل ای ڈی اور // اگر منتقل نہیں ہوا {RC0 = 0؛ آر سی 1 = 0؛} // دونوں لیڈ بند کریں
ہم وائی محور کی قدر کے لئے بھی اسی طرح کر سکتے ہیں۔ ہمیں ابھی متغیر جوی_ X کو خوشی_ Y کے ساتھ بدلنا ہے اور اگلے دو ایل ای ڈی پنوں کو بھی کنٹرول کرنا ہے جیسا کہ ذیل میں دکھایا گیا ہے۔ نوٹ کریں کہ جب جوائس اسٹک منتقل نہیں ہوتا ہے تو ہم دونوں ایل ای ڈی لائٹس کو آف کردیتے ہیں۔
if (joy_Y <200) // جوی بائیں میں منتقل {RC2 = 0؛ RC3 = 1؛} // اگر بائیں طرف ایل ای ڈی کو چمکیں تو (خوشی_ Y> 800) // جوی دائیں منتقل {RC2 = 1؛ آر سی 3 = 0؛} // گلو رائٹ ایل ای ڈی // // اگر منتقل نہیں ہوا {RC2 = 0؛ آر سی 3 = 0؛ both // دونوں ایل ای ڈی کو بند کردیں
اب ہمارے پاس ایک اور آخری کام کرنا ہے ، دباؤ پڑا ہے تو ہمیں سوئچ کو چیک کرنا ہوگا۔ سوئچ پن RB0 سے منسلک ہے لہذا ہم پھر سے لوپ کو استعمال کرسکتے ہیں اور چیک کرسکتے ہیں کہ آیا ہے یا نہیں۔ اگر اس کو دبایا جاتا ہے تو ہم اس بات کی نشاندہی کرنے کے لئے ایل ای ڈی کا رخ کریں گے کہ سوئچ دب گیا ہے۔
if (RB0 == 1) // اگر جوی کو RC4 = 1 دبایا جاتا ہے؛ // گلو مڈل ایل ای ڈی اور اور آر سی 4 = 0؛ // درمیانی ایل ای ڈی بند
نقلی نظارہ:
پروٹیز سافٹ ویئر کا استعمال کرتے ہوئے مکمل پروجیکٹ کی نقالی کی جاسکتی ہے۔ ایک بار جب آپ نے پروگرام لکھا ہے تو کوڈ مرتب کریں اور تخروپن کے ہیکس کوڈ کو سرکٹ سے جوڑیں۔ اس کے بعد آپ کو پوٹینومیٹرز کی پوزیشن کے مطابق ایل ای ڈی لائٹس چمکتے ہوئے دیکھیں۔ نقلی ذیل میں دکھایا گیا ہے:
ہارڈ ویئر اور کام کرنا:
نقلی کو استعمال کرتے ہوئے کوڈ کی تصدیق کرنے کے بعد ، ہم سرٹی کو روٹی بورڈ پر بنا سکتے ہیں۔ اگر آپ پی آئی سی ٹیوٹوریلز کی پیروی کر رہے ہیں تو آپ نے دیکھا ہوگا کہ ہم وہی پرف بورڈ استعمال کرتے ہیں جس میں پی آئی سی اور 7805 سرکٹ اس کو سولڈرڈ کیا جاتا ہے۔ اگر آپ بھی ایک بنانے میں دلچسپی رکھتے ہیں تاکہ آپ اسے اپنے تمام PIC پروجیکٹس کے ساتھ استعمال کریں تو سرکٹ کو کسی پرف بورڈ میں سولڈر کریں۔ یا آپ بریڈ بورڈ پر بھی مکمل سرکٹ بنا سکتے ہیں۔ ایک بار جب ہارڈ ویئر ختم ہوجائے تو یہ کچھ اس طرح ہوگا۔
اب PICkit3 کا استعمال کرتے ہوئے PIC مائکروقابو کنٹرولر میں کوڈ اپ لوڈ کریں۔ آپ رہنمائی کے لئے ایل ای ڈی پلکیں منصوبے کا حوالہ دے سکتے ہیں۔ پروگرام اپلوڈ ہوتے ہی آپ کو پیلے رنگ کی روشنی کودیکھ جانا چاہئے۔ اب جوائس اسٹک کا استعمال کریں اور اس کی گنبد میں فرق پڑتا ہے ، جوائس اسٹک کی ہر سمت کے ل you آپ دیکھیں گے کہ متعلقہ ایل ای ڈی اونچی اونچی ہوتی جارہی ہے۔ جب درمیان میں سوئچ دبایا جاتا ہے تو ، یہ وسط میں ایل ای ڈی کو بند کردے گا۔
یہ کام صرف ایک مثال ہے ، آپ اس میں بہت سارے دلچسپ پروجیکٹس تشکیل دے سکتے ہیں۔ منصوبے کا مکمل کام اس صفحے کے آخر میں دی گئی ویڈیو پر بھی پایا جاسکتا ہے ۔
امید ہے کہ آپ کو پروجیکٹ سمجھ گیا ہے اور اس کی تعمیر سے لطف اندوز ہوئے ، اگر آپ کو ایسا کرنے میں کوئی پریشانی ہو تو بلا جھجھک اسے نیچے کمنٹ سیکشن پر پوسٹ کریں یا مدد حاصل کرنے کے لئے فورم پر لکھ دیں۔