اس ٹیوٹوریل میں ہم atmega8 مائکروکونٹرولر کے ساتھ ایک جوائس اسٹک ماڈیول کو انٹرفیس کرنے جارہے ہیں ۔ ایک خوشی چھڑی مواصلات کے لئے استعمال کیا ایک ان پٹ ماڈیول ہے. یہ بنیادی طور پر صارف مشین مواصلات کو آسان بناتا ہے۔ ایک جوائس اسٹک ذیل کے اعداد و شمار میں دکھایا گیا ہے۔
جوائس اسٹک ماڈیول میں دو محور ہیں - ایک افقی اور دوسرا عمودی۔ جوائس اسٹک کا ہر ایک محور ایک پوٹینومیٹر یا برتن یا متغیر مزاحمت پر لگا ہوا ہے۔ درمیانی پوائنٹس Rx اور Ry کے طور پر نیچے لایا جاتا ہے. یہ پن خوشی کے لئے آؤٹ پٹ سگنل پن کے طور پر رکھتے ہیں۔ جب چھڑی افقی محور کے ساتھ ، سپلائی وولٹیج کے ساتھ منتقل ہوتی ہے تو ، Rx پن میں وولٹیج تبدیل ہوجاتی ہے۔
جب آگے بڑھا تو Rx میں وولٹیج بڑھ جاتی ہے ، جب پیچھے کی طرف بڑھا جاتا ہے تو Rx پن میں وولٹیج کم ہوجاتی ہے۔ اسی طرح ، Ry میں وولٹیج بڑھتی ہے جب اوپر کی طرف جاتا ہے ، Ry پن میں وولٹیج کم ہوتا ہے جب نیچے کی طرف جاتا ہے۔
تو ہمارے پاس دو ADC چینلز پر JOYSTICK کی چار سمتیں ہیں ۔ عام حالتوں میں ہمارے پاس عام حالات میں ہر پن پر 1 وولٹ ہوتا ہے۔ جب چھڑی کو منتقل کیا جاتا ہے تو ہر پن پر وولٹیج سمت کے لحاظ سے اونچی یا کم جاتا ہے۔ تو چار جہتیں بطور (0V ، 5V چینل 0) ایکس محور کے لئے؛ (0V ، 5V چینل 1 پر) y- محور کیلئے۔
ہم کام کرنے کے لئے اے ٹی ایم ای جی اے 8 کے دو اے ڈی سی چینلز استعمال کرنے جارہے ہیں۔ ہم چینل 0 اور چینل 1 استعمال کرنے جارہے ہیں۔
ضروری اجزاء
ہارڈ ویئر: ATMEGA8 ، بجلی کی فراہمی (5v) ، AVR-ISP پروگرامر ، ایل ای ڈی (4 ٹکڑے ٹکڑے) ، 1000uF کاپاکیٹر ، 100nF سندارتر (5 ٹکڑے) ، 1KΩ ریزٹر (6 ٹکڑے)۔
سافٹ ویئر: اٹیل اسٹوڈیو 6.1 ، پروگرام یا فلیش جادو۔
سرکٹ ڈایاگرام اور ورکنگ وضاحت
JOYSTICK میں وولٹیج پوری طرح لکیری نہیں ہے۔ یہ شور مچائے گا۔ شور کو چھاننے کے ل a ، سرخی میں ہر ایک ریزسٹر کے پاس ایک کپیسیٹر رکھے جاتے ہیں جیسا کہ اعداد و شمار میں دکھایا گیا ہے۔
جیسا کہ اعداد و شمار میں دکھایا گیا ہے سرکٹ میں چار ایل ای ڈی ہیں۔ ہر ایل ای ڈی JOYSTICK کی ہر سمت کی نمائندگی کرتا ہے۔ جب چھڑی کو کسی سمت میں منتقل کیا جاتا ہے ، تو پھر اسی طرح کا ایل ای ڈی چمکتا ہے۔
مزید آگے جانے سے پہلے ہمیں اے ٹی ایم ای جی اے 8 کے اے ڈی سی کے بارے میں بات کرنے کی ضرورت ہے ،
اے ٹی ایم ای جی اے 8 میں ، ہم پی او آر ٹی سی کے کسی بھی چار چینل کو ینالاگ ان پٹ دے سکتے ہیں ، اس سے کوئی فرق نہیں پڑتا ہے کہ ہم کون سا چینل منتخب کرتے ہیں جیسا کہ سب ایک جیسے ہیں ، ہم PORTC کا چینل 0 یا PIN0 منتخب کرنے جارہے ہیں۔
اے ٹی ایم ای جی اے 8 میں ، اے ڈی سی 10 بٹ ریزولوشن کا ہے ، لہذا کنٹرولر کسی بھی احساس کو ویرف / 2 ^ 10 میں کم سے کم تبدیلی کا پتہ لگاسکتا ہے ، لہذا اگر ریفرنس وولٹیج 5V ہے تو ہمیں ہر 5/2 ^ 10 = 5mV میں ڈیجیٹل آؤٹ پٹ انکریمنٹ ملتا ہے۔. لہذا ان پٹ میں ہر 5mV اضافے کے ل digital ہمارے پاس ڈیجیٹل آؤٹ پٹ میں اضافہ ہوگا۔
اب ہمیں درج ذیل شرائط کی بنیاد پر اے ڈی سی کا رجسٹر ترتیب دینے کی ضرورت ہے ،
1. سب سے پہلے ہمیں اے ڈی سی میں اے ڈی سی کی خصوصیت کو فعال کرنے کی ضرورت ہے۔
2. یہاں ADC تبادلوں کے لئے زیادہ سے زیادہ ان پٹ وولٹیج حاصل کرنے جا رہے ہیں + 5V لہذا ہم زیادہ سے زیادہ قیمت یا ADC کا حوالہ 5V پر مرتب کرسکتے ہیں۔
The. کنٹرولر میں ٹرگر تبادلوں کی خصوصیت ہوتی ہے جس کا مطلب ہے کہ ADC تبادلوں صرف بیرونی محرک کے بعد ہی ہوتا ہے ، کیونکہ ہم یہ نہیں چاہتے ہیں کہ ہمیں مسلسل مفت چلانے کے موڈ میں چلنے کے لئے اے ڈی سی کے لئے رجسٹر ترتیب دینے کی ضرورت ہے۔
any. کسی بھی اے ڈی سی کے ل convers ، تبادلوں کی فریکوئنسی (ینالاگ ویلیو سے ڈیجیٹل ویلیو) اور ڈیجیٹل آؤٹ پٹ کی درستگی متضاد متناسب ہیں۔ لہذا ڈیجیٹل آؤٹ پٹ کی بہتر درستگی کے ل we ہمیں کم تعدد کا انتخاب کرنا ہوگا۔ عام ADC گھڑی کے لئے ہم ADC کا نسخہ زیادہ سے زیادہ قیمت (2) پر مرتب کر رہے ہیں۔ چونکہ ہم 1MHZ کی داخلی گھڑی استعمال کررہے ہیں ، لہذا ADC کی گھڑی (1000000/2) ہوگی۔
یہ صرف چار چیزیں ہیں جن کی ہمیں ADC کے ساتھ شروع کرنے کے لئے جاننے کی ضرورت ہے۔
مذکورہ بالا چار خصوصیات دو رجسٹروں کے ذریعہ مرتب کی گئی ہیں۔
سرخ (ADEN): یہ تھوڑا اے ٹی ایم ای جی اے کی اے ڈی سی خصوصیت کو چالو کرنے کے ل set مقرر کرنا ہوگا۔
نیلی (REFS1 ، REFS0): یہ دو بٹس ریفرنس وولٹیج (یا زیادہ سے زیادہ ان پٹ وولٹیج جو ہم دینے جا رہے ہیں) طے کرنے کے لئے استعمال ہوتے ہیں۔ چونکہ ہم ریفرنس وولٹیج 5V رکھنا چاہتے ہیں ، لہذا ٹیبل کے ذریعہ ، آر ای ایف ایس 0 ترتیب دینا چاہئے۔
پیلو (ADFR): ADC کے لئے یہ بٹ لگانا لازمی ہے تاکہ اسے چلانے کے ل ((مفت چلانے کا موڈ)۔
پنک (MUX0-MUX3): یہ چار بٹس ان پٹ چینل کو بتانے کیلئے ہیں۔ چونکہ ہم ADC0 یا PIN0 استعمال کرنے جارہے ہیں ، لہذا ہمیں کسی بٹس کو ترتیب دینے کی ضرورت نہیں ہے جیسا کہ ٹیبل کے مطابق ہے۔
براؤن (ADPS0-ADPS2): یہ تینوں بٹس ADC کے لئے نسخہ ترتیب دینے کے لئے ہیں۔ چونکہ ہم 2 کا نسخہ استعمال کررہے ہیں ، اس لئے ہمیں تھوڑا سا طے کرنا ہوگا۔
ڈارک گرین (ADSC): یہ تھوڑا سا تبادلہ شروع کرنے کے لئے ADC کے لئے سیٹ کیا گیا ہے۔ جب پروگرام میں ہمیں تبادلوں کو روکنے کی ضرورت ہو تو یہ تھوڑا سا پروگرام میں غیر فعال ہوسکتا ہے۔