اس ٹیوٹوریل میں ہم فاصلے کی پیمائش کے ل a ایک سرکٹ پر تبادلہ خیال اور ڈیزائن کرنے جارہے ہیں۔ یہ سرکٹ الٹراسونک سینسر "HC-SR04" کو اے وی آر مائکروکانٹرولر کے ذریعہ انٹرفیس کرکے تیار کیا گیا ہے ۔ یہ سینسر "ECHO" نامی ایک تکنیک کا استعمال کرتا ہے جو ایسی چیز ہے جو آپ کو مل جاتی ہے جب کسی سطح پر ہڑتال کے بعد آواز کی عکاسی ہوتی ہے۔
ہم جانتے ہیں کہ آواز کے کمپن سالڈ کے ذریعہ نہیں گھس سکتے ہیں۔ تو کیا ہوتا ہے ، جب آواز کا کوئی ذریعہ کمپن پیدا کرتا ہے تو وہ 220 میٹر فی سیکنڈ کی رفتار سے ہوا کے ذریعے سفر کرتے ہیں۔ یہ کمپن جب وہ ہمارے کان سے ملتے ہیں تو ہم ان کو بطور صوتی بیان کرتے ہیں۔ جیسا کہ پہلے کہا گیا ہے کہ یہ کمپن ٹھوس سے گزر نہیں سکتے ہیں ، لہذا جب وہ دیوار جیسی سطح پر حملہ کرتے ہیں تو ، وہ اسی رفتار سے ماخذ کی طرف آتے ہیں ، جس کو بازگشت کہتے ہیں۔
الٹراسونک سینسر "HC-SR04" بازگشت کی بنیاد پر فاصلے کے متناسب ایک آؤٹ پٹ سگنل فراہم کرتا ہے۔ ٹرگر دینے پر یہاں کا سینسر الٹراسونک رینج میں صوتی کمپن پیدا کرتا ہے ، اس کے بعد یہ صوتی کمپن کی واپسی کا انتظار کرتا ہے۔ اب پیرامیٹرز ، آواز کی رفتار (220m / s) اور وسائل تک پہنچنے میں بازگشت کے ل taken وقت کی بنیاد پر ، یہ آؤٹ پٹ پلس فاصلے کے متناسب فراہم کرتا ہے۔
جیسا کہ اعداد و شمار میں دکھایا گیا ہے ، پہلے تو ہمیں فاصلے کی پیمائش کے ل the سینسر شروع کرنے کی ضرورت ہوتی ہے ، یہ 10uS سے زیادہ سینسر کے ٹرگر پن پر ایک ہائی منطق سگنل ہے ، اس کے بعد ایک سنجیدہ آواز کے ذریعے کمپن سنسر کے ذریعہ بھیجا جاتا ہے ، ایک گونج کے بعد ، سینسر فراہم کرتا ہے۔ آؤٹ پٹ پن پر ایک اشارہ جس کی چوڑائی منبع اور رکاوٹ کے درمیان فاصلے کے متناسب ہے۔
یہ فاصلہ اس طرح ، فاصلہ (سینٹی میٹر میں) = پلس آؤٹ پٹ کی چوڑائی (US میں) / 58 کے حساب سے ہے۔
یہاں سگنل کی چوڑائی کو متعدد امریکی ڈالر (مائیکرو سیکنڈ یا 10 ^ -6) میں لینا چاہئے۔
ضروری اجزاء
ہارڈ ویئر: ATMEGA32 ، بجلی کی فراہمی (5v) ، AVR-ISP پروگرامر ، JHD_162ALCD (16x2LCD) ، 1000uF کاپاکیسیٹر ، 10KΩ ریزٹر (2 ٹکڑے) ، HC-SR04 سینسر۔
سافٹ ویئر: اٹیل اسٹوڈیو 6.1 ، پروگرام یا فلیش جادو۔
سرکٹ ڈایاگرام اور ورکنگ وضاحت
یہاں ہم LCD ڈیٹا پورٹ (D0-D7) سے رابطہ قائم کرنے کے لئے PORTB استعمال کررہے ہیں۔ کوئی بھی جو ATMEGA32A کے FUSE BITS کے ساتھ کام نہیں کرنا چاہتا ہے وہ PORTC کا استعمال نہیں کرسکتا ہے ، کیونکہ PORTC میں ایک خاص قسم کا مواصلت ہوتا ہے جو صرف FUSEBITS کو تبدیل کرکے غیر فعال کر سکتا ہے۔
سرکٹ میں ، آپ مشاہدہ کرتے ہیں کہ میں نے صرف دو کنٹرول پین لئے ہیں ، اس سے بہتر تفہیم کی لچک مل جاتی ہے۔ اس کے برعکس تھوڑا سا اور READ / WRITE اکثر استعمال نہیں ہوتے ہیں لہذا ان کو زمین پر چھوٹا جاسکتا ہے۔ یہ ایل سی ڈی کو سب سے زیادہ برعکس اور پڑھنے کے موڈ میں رکھتا ہے۔ ہمیں حرف اور ڈیٹا بھیجنے کے لئے صرف انبل اور آر ایس پنوں کو کنٹرول کرنے کی ضرورت ہے۔
کنیکشن جو ایل سی ڈی کے لئے کیے جاتے ہیں وہ ذیل میں دیئے گئے ہیں۔
گراؤنڈ میں PIN1 یا VSS
پن 2 یا وی ڈی ڈی یا وی سی سی سے + 5 وی پاور
PIN3 یا VEE کرنے کے لئے (ابتدائی کے لئے زیادہ سے زیادہ اس کے برعکس بہترین دیتا ہے)
یو سی کے PD6 پر PIN4 یا RS (انتخاب کا اندراج) کریں
پن 5 یا آر ڈبلیو (پڑھیں / لکھیں) زمین پر (ایل سی ڈی کو پڑھنے کے موڈ میں ڈال دیتا ہے جس سے صارف کے لئے مواصلات میں آسانی ہوجاتی ہے)
یو سی کے PD5 سے پن 6 یا ای (قابل)
یو سی کے PIN7 یا D0 سے PB0
یو سی کے PIN8 یا D1 سے PB1
یو سی کے PIN9 یا D2 سے PB2
یو سی کے PIN10 یا D3 سے PB3
یو سی کے PIN11 یا D4 سے PB4
یو سی کے PIN12 یا D5 سے PB5
یو سی کے PIN13 یا D6 سے PB6
یو سی کے PIN14 یا D7 سے PB7
سرکٹ میں آپ دیکھ سکتے ہیں کہ ہم نے 8 بٹ مواصلات (D0-D7) کا استعمال کیا ہے تاہم یہ لازمی نہیں ہے اور ہم 4 بٹ مواصلات (D4-D7) استعمال کرسکتے ہیں لیکن 4 بٹ مواصلاتی پروگرام تھوڑا پیچیدہ ہو جاتا ہے۔ لہذا جیسا کہ مذکورہ جدول میں دکھایا گیا ہے ہم ایل سی ڈی کے 10 پنوں کو کنٹرولر سے جوڑ رہے ہیں جس میں 8 پنوں کو ڈیٹا پن اور کنٹرول کے لئے 2 پن ہیں۔
الٹراسونک سینسر ایک چار پن ڈیوائس ، PIN1- VCC یا + 5V ہے۔ پن 2 - ٹرگر؛ PIN3- ECHO؛ پن 4- گرائونڈ۔ ٹرگر پن وہ جگہ ہے جہاں ہم سینسر کو فاصلے کی پیمائش کرنے کے لئے بتانے کیلئے ٹرگر دیتے ہیں۔ ایکو آؤٹ پٹ پن ہے جہاں ہمیں نبض کی چوڑائی کی شکل میں فاصلہ ملتا ہے۔ یہاں کی بازگشت پن بیرونی مداخلت کے ذریعہ کے طور پر کنٹرولر سے منسلک ہے۔ لہذا سگنل آؤٹ پٹ کی چوڑائی حاصل کرنے کے ل sens ، سینسر کا ایکو پن INT0 (رکاوٹ 0) یا PD2 سے جڑا ہوا ہے۔
1. کم از کم 12 یو ایس کے لئے ٹرگر پن کھینچ کر سینسر کو متحرک کرنا۔
2. ایک بار جب بازگشت بلند ہوجائے تو ہمیں بیرونی رکاوٹ پڑتا ہے اور ہم ISR (مداخلت سروس روٹین) میں ایک کاؤنٹر (کاؤنٹر کو چالو کرنے والے) کو شروع کرنے جا رہے ہیں جو ایک وقفے سے حرکت پذیر ہونے کے بعد ہی پھانسی دے دی جاتی ہے۔
Once. گونج کم ہونے کے بعد ایک بار پھر خلل پیدا ہوتا ہے ، اس بار ہم کاؤنٹر کو روکنے جارہے ہیں (کاؤنٹر کو غیر فعال کرنا)
4. لہذا ایکو پن پر نچلی سے نیچے تک ، ہم نے ایک کاؤنٹر شروع کیا ہے اور اسے روک دیا ہے۔ اس گنتی کو فاصلہ حاصل کرنے کے لئے میموری میں اپ ڈیٹ کیا جاتا ہے ، کیوں کہ ہمارے پاس اب گنتی میں ایکو کی چوڑائی ہے۔
ہم سینٹی میٹر میں فاصلہ حاصل کرنے کے لئے میموری میں مزید حساب کتاب کرنے جارہے ہیں
6. فاصلہ 16x2 LCD ڈسپلے پر ظاہر ہوتا ہے۔
مندرجہ بالا خصوصیات کو ترتیب دینے کے لئے ہم درج ذیل رجسٹر ترتیب دینے جارہے ہیں۔
مندرجہ بالا تین رجسٹر اسی ترتیب سے کام کرنے کے لئے ترتیب دیئے جائیں گے اور ہم ان پر مختصر گفتگو کریں گے ،
نیلی (INT0): بیرونی مداخلت کو چالو کرنے کے ل this یہ تھوڑا سا اونچا ہونا ضروری ہے ، ایک بار جب یہ پن سیٹ ہوجاتا ہے تو ہمیں PIND2 پن پر منطق کی تبدیلیوں کا احساس ہوجاتا ہے۔
براؤن (ISC00 ، ISC01): یہ دو بٹس PD2 میں مناسب منطق کی تبدیلی کے ل adj ایڈجسٹ کی گئیں ، جنہیں مداخلت سمجھا جائے۔
لہذا جیسا کہ پہلے کہا گیا ہے کہ ہمیں گنتی شروع کرنے اور اسے روکنے کے لئے مداخلت کی ضرورت ہے۔ لہذا ہم نے ISC00 کو ایک کے طور پر متعین کیا اور جب INT0 میں LOW to LOW کی کوئی منطق ہو تو ہمیں رکاوٹ پیدا ہوجاتی ہے۔ ایک اور رکاوٹ جب HOW to LOW کی کوئی منطق ہو۔
سرخ (CS10): یہ تھوڑا سا انسداد کو فعال اور غیر فعال کرنے کے لئے ہے۔ اگرچہ یہ دوسرے بٹس CS10 ، CS12 کے ساتھ مل کر کام کرتا ہے۔ ہم یہاں کوئی نسخہ نہیں لگا رہے ہیں ، لہذا ہمیں ان کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔
یہاں یاد رکھنے والی کچھ اہم باتیں یہ ہیں:
ہم اے ٹی ایم ای جی اے 32 اے کی اندرونی گھڑی استعمال کررہے ہیں جو 1MHz ہے۔ یہاں پریسکلنگ نہیں ، ہم موازنہ میچ رکاوٹ پیدا کرنے والے معمولات نہیں کر رہے ہیں ، لہذا کوئی پیچیدہ رجسٹر ترتیبات نہیں ہیں۔
گنتی کے بعد گنتی کی قیمت 16 بٹ TCNT1 رجسٹر میں محفوظ ہے۔
اس پروجیکٹ کو ارڈوینو کے ساتھ بھی چیک کریں: ارڈینو کے استعمال سے فاصلہ کی پیمائش
پروگرامنگ وضاحت
فاصلہ پیمائش سینسر کے کام کرنے کے نیچے دیئے گئے سی پروگرام میں مرحلہ وار بیان کیا گیا ہے۔
پنوں پر ڈیٹا فلو کنٹرول کو قابل بنائے جانے کے لئے # شامل // ہیڈر