کسی بھی پروجیکٹ کے زندہ ہونے کے ل we ، ہمیں سینسر استعمال کرنے کی ضرورت ہے۔ سراسر سرایت شدہ ایپلی کیشن کے لئے سینسر آنکھوں اور کانوں کی طرح کام کرتا ہے ، اس سے ڈیجیٹل مائکروکونٹرولر کو یہ سمجھنے میں مدد ملتی ہے کہ حقیقت میں اس اصل ینالاگ دنیا میں کیا ہو رہا ہے۔ اس ٹیوٹوریل میں ہم سیکھیں گے کہ الٹراسونک سینسر HC-SR04 کو PIC مائکروکانٹرولر کے ذریعہ انٹرفیس کیسے کریں ۔
ہائی کورٹ- SR04 ایک الٹراسونک سینسر ہے 450cm (نظریاتی) کے 2cm کے درمیان فاصلہ بھی جگہ کی پیمائش کرنے کے استعمال کیا جا سکتا ہے. اس سینسر نے بہت سارے پروجیکٹس کو فٹ کرکے اپنے آپ کو اہل ثابت کیا ہے جس میں رکاوٹوں کا پتہ لگانے ، فاصلے کی پیمائش ، ماحول کی نقشہ سازی وغیرہ شامل ہیں۔ اس مضمون کے آخر میں آپ کو معلوم ہوگا کہ یہ سینسر کس طرح کام کرتا ہے اور فاصلے کی پیمائش اور ڈسپلے کو ماپنے کے ل to اسے PIC16F877A مائکروقابو کنٹرولر کے ساتھ کس طرح انٹرفیس کرنا ہے۔ یہ LCD اسکرین پر ہے ۔ دلچسپ حق ہے !! تو آئیے شروع کریں…
مطلوبہ مواد:
- پروگرامنگ سیٹ اپ کے ساتھ PIC16F877A MCU
- LCD 16 * 2 ڈسپلے
- الٹراسونک سینسر (HC-SR04)
- مربوط تاروں
الٹراسونک سینسر کیسے کام کرتا ہے؟
ہمیں مزید حاصل کرنے سے پہلے ، ہمیں جاننا چاہئے کہ الٹراسونک سینسر کس طرح کام کرتا ہے تاکہ ہم اس ٹیوٹوریل کو زیادہ بہتر طور پر سمجھ سکیں۔ اس پروجیکٹ میں استعمال ہونے والا الٹراسونک سینسر نیچے دکھایا گیا ہے۔
جیسا کہ آپ دیکھ سکتے ہیں کہ اس کی دو سرکلر آنکھیں ہیں جیسے تخمینے اور اس سے چار پنیاں نکل رہی ہیں۔ اندازوں کی طرح دو آنکھوں میں الٹراسونک لہر (اس کے بعد امریکی لہر کے طور پر جانا جاتا ہے) ٹرانسمیٹر اور وصول کنندہ ہے۔ ٹرانسمیٹر 40Hz کی فریکوئنسی پر امریکی لہر کا اخراج کرتا ہے ، یہ لہر ہوا کے ذریعے سفر کرتی ہے اور جب کسی چیز کو محسوس کرتی ہے تو وہ اس کی عکاسی کرتی ہے۔ لوٹنے والی لہریں وصول کنندہ کے ذریعہ دیکھی جاتی ہیں۔ اب ہم جانتے ہیں کہ اس لہر کے عکاس ہونے اور واپس آنے کے لئے لیا گیا وقت اور امریکی لہر کی رفتار بھی عالمگیر ہے (3400 سینٹی میٹر / سیکنڈ)۔ اس معلومات اور ہائی اسکول فارمولوں کا استعمال کرتے ہوئے ہم فاصلہ طے کر سکتے ہیں۔
فاصلہ = رفتار × وقت
اب جب ہم جانتے ہیں کہ امریکی سینسر کس طرح کام کرتا ہے ، آئیے ہم یہ بتاتے ہیں کہ چار پنوں کا استعمال کرتے ہوئے کسی بھی ایم سی یو / سی پی یو کے ساتھ اس کا انٹرفیس کیا جاسکتا ہے۔ یہ چار پن بالترتیب وی سی سی ، ٹرگر ، ایکو اور گراؤنڈ ہیں۔ ماڈیول + 5V پر کام کرتا ہے اور اسی لئے وی سی سی اور گراؤنڈ پن کو ماڈیول کو پاور کرنے کے لئے استعمال کیا جاتا ہے۔ دوسرے دو پن I / O پن ہیں جن کا استعمال کرتے ہوئے ہم اپنے MCU سے رابطہ کرتے ہیں۔ ٹرگر پن ایک پیداوار پن قرار دیا جائے اور کسی 10uS لئے اعلی بنایا، اس 8 سائیکل میں آواز پھٹ کے طور پر ہوا میں امریکی لہر کو منتقل کریں گے. ایک بار جب لہر کا مشاہدہ کیا گیا تو وقت کے عین وقفے کے لئے ایکو پن اونچی ہو جائے گا جسے امریکی لہر نے سینسر ماڈیول پر واپس جانے کے لئے لیا تھا۔ لہذا اس ایکو پن کو ان پٹ قرار دیا جائے گااور ٹائمر کا استعمال اس پیمائش کے ل. کیا جائے گا کہ پن کتنا لمبا ہے۔ یہ نیچے وقت کے آریھ کے ذریعہ مزید سمجھا جاسکتا ہے۔
امید ہے کہ آپ اس سینسر کو PIC کے ساتھ انٹرفیس کرنے کے لئے عارضی راستہ پر پہنچ گئے ہیں۔ ہم اس ٹیوٹوریل میں ٹائمر ماڈیول اور LCD ماڈیول استعمال کریں گے اور میں فرض کرتا ہوں کہ آپ دونوں سے واقف ہیں ، اگر نہیں تو براہ کرم ذیل میں متعلقہ ٹیوٹوریل میں واپس آجائیں کیونکہ میں اس سے متعلق زیادہ تر معلومات کو چھوڑ کر جاؤں گا۔
- پی سی سی مائکروکانٹرولر کے ساتھ ایل سی ڈی انٹرفیسنگ
- پی آئی سی مائکروکنٹرولر میں ٹائمر کو سمجھنا
سرکٹ ڈایاگرام:
الٹراسونک سینسر کو PIC16F877A کے ساتھ انٹرفیس کرنے کے لئے مکمل سرکٹ ڈایاگرام ذیل میں دکھایا گیا ہے:
جیسا کہ دکھایا گیا ہے ، سرکٹ میں LCD ڈسپلے اور الٹراسونک سینسر خود سے زیادہ کچھ نہیں ہے۔ امریکی سینسر + 5V کے ذریعے طاقت حاصل کرسکتا ہے اور اسی وجہ سے یہ براہ راست 7805 وولٹیج ریگولیٹر کے ذریعہ چلتا ہے۔ سینسر میں ایک آؤٹ پٹ پن (ٹرگر پن) ہوتا ہے جو پن 34 (آر بی 1) سے منسلک ہوتا ہے اور ان پٹ پن (ایکو پن) پن 35 (آر بی 2) سے منسلک ہوتا ہے۔ مندرجہ ذیل ٹیبل میں مکمل پن کنکشن کی مثال دی گئی ہے۔
سیریل نمبر: |
PIC پن نمبر |
پن کا نام |
سے جڑا ہوا |
1 |
21 |
آر ڈی 2 |
LCD کا RS |
2 |
22 |
آر ڈی 3 |
LCD کا ای |
3 |
27 |
آر ڈی 4 |
LCD کا D4 |
4 |
28 |
آر ڈی 5 |
LCD کا D5 |
5 |
29 |
آر ڈی 6 |
LCD کا D6 |
6 |
30 |
آرڈی 7 |
LCD کا D7 |
7 |
34 |
آر بی 1 |
امریکی ٹرگر |
8 |
35 |
آر بی 2 |
امریکہ کی بازگشت |
آپ کے PIC مائکرو قابو والے پروگرامنگ:
اس ٹیوٹوریل کے لئے مکمل پروگرام اس صفحے کے آخر میں دیا گیا ہے ، مزید نیچے میں نے اس کوڈ کو چھوٹے معنی میں سمجھایا ہے تاکہ آپ کو سمجھ سکے۔ جیسا کہ پہلے کہا گیا ہے کہ اس پروگرام میں LCD انٹرفیسنگ اور ٹائمر کا تصور شامل ہے جس کی تفصیل میں اس ٹیوٹوریل میں کوئی وضاحت نہیں کی جاسکتی ہے کیونکہ ہم ان کو پہلے ہی سبق کے سبق میں پیش کر چکے ہیں۔
اندر ، مرکزی کام ہم شروع کرتے ہیں جیسے IO پنوں اور دیگر رجسٹر کو معمول کے مطابق شروع کریں۔ ہم LCD اور امریکی سینسر کے لئے IO پنوں کی وضاحت کرتے ہیں اور 1: 4 پری اسکیلر پر کام کرنے اور داخلی گھڑی استعمال کرنے کے لئے ٹائمر 1 کے اندراج کو بھی شروع کرتے ہیں (Fosc / 4)
TRISD = 0x00؛ // PORTD کو ایل سی ڈی TRISB0 = 1 میں مداخلت کرنے کے لئے آؤٹ پٹ قرار دیا گیا۔ // رکاوٹ پن TRISB1 = 0 کے طور پر استعمال کرنے کے لئے RB0 پن کو ان پٹ کے طور پر بیان کریں۔ // امریکی سینسر کا ٹرگر پن آؤٹ پٹ پن کے طور پر بھیجا جاتا ہے TRISB2 = 1؛ // یو ایس سینسر کا ایکو پن ان پٹ ٹرین کے طور پر ترتیب دیا گیا ہے TRISB3 = 0؛ // RB3 یلئڈی T1CON = 0x20 کے لئے آؤٹ پٹ پن ہے؛ // 4 پریس اسکیلر اور داخلی گھڑی
ٹائمر 1 ایک 16 بٹ ٹائمر ہے جس کو PIC16F877A میں استعمال کیا جاتا ہے ، T1CON رجسٹر ٹائمر ماڈیول کے پیرامیٹرز کو کنٹرول کرتا ہے اور اس کا نتیجہ TMR1H اور TMR1L میں اسٹور کیا جائے گا کیونکہ اس کا نتیجہ 16 بٹ کے نتیجے میں پہلا 8 ٹی ایم آر 1 ایچ میں محفوظ ہوگا اور اگلے 8 میں TMR1L میں۔ اس ٹائمر کو بالترتیب TMR1ON = 0 اور TMR1ON = 1 کا استعمال کرتے ہوئے آن یا آف کیا جاسکتا ہے۔
اب ، ٹائمر استعمال کرنے کے لئے تیار ہے ، لیکن ہمیں امریکی لہروں کو سینسر سے باہر بھیجنا ہے ، ایسا کرنے کے لئے ہمیں ٹرگر پن کو 10uS کے لئے بلند رکھنا ہے ، یہ مندرجہ ذیل کوڈ کے ذریعہ کیا گیا ہے۔
ٹرگر = 1؛ __ڈیلا_س (10)؛ ٹرگر = 0؛
جیسا کہ اوپر ٹائمنگ ڈایاگرام میں دکھایا گیا ہے ، لہر واپس آنے تک ایکو پن کم رہے گا اور پھر اونچائی پر جائے گا اور لہروں کو واپس آنے میں عین مطابق وقت کے ل stay اونچا رہے گا۔ اس وقت کی پیمائش ٹائمر 1 ماڈیول سے کی جانی چاہئے ، جو نیچے لائن کے ذریعہ کیا جاسکتا ہے
جبکہ (ایکو == 0)؛ TMR1ON = 1؛ جبکہ (ایکو == 1)؛ TMR1ON = 0؛
ایک بار وقت کی پیمائش کرنے کے بعد نتیجہ کار کی قیمتوں کو رجسٹرز ٹی ایم آر 1 ایچ اور ٹی ایم آر 1 ایل میں محفوظ کرلیا جائے گا ، 16 بٹ ویلیو حاصل کرنے کے ل these ان رجسٹروں کو جمع کرنا ہوگا۔ یہ نیچے کی لائن کا استعمال کرتے ہوئے کیا جاتا ہے
ٹائم_ٹیکن = (TMR1L - (TMR1H << 8))؛
اصل وقت کی قیمت حاصل کرنے کے ل This ، ہمیں نیچے دیئے گئے فارمولے کو استعمال کرنا ہوگا۔
ٹائم = (16 بٹ رجسٹر ویلیو) * (1 / اندرونی گھڑی) * (پری اسکیل) اندرونی گھڑی = فاسکس / 4 جہاں ہمارے معاملے میں ، فاسکس = 20000000 میگاہرٹز اور پری اسکیل = 4 لہذا اندرونی گھڑی کی قیمت ہوگی 5000000 میگاہرٹز اور وقت کی قیمت وقت = (16 بٹ رجسٹر ویلیو) ہوگی * (1/5000000) * (4) = (16 بٹ رجسٹر ویلیو) * (4/5000000) = (16 بٹ رجسٹر ویلیو) * 0.0000008 سیکنڈ (OR) وقت = (16 بٹ رجسٹر ویلیو) * 0.8 مائیکرو سیکنڈ
ہمارے پروگرام میں 16 بٹ رجسٹر کی قیمت متغیر وقت_ٹیکن میں محفوظ کی جاتی ہے اور اسی وجہ سے مائکرو سیکنڈ میں وقت کی جانچ کرنے کے لئے نیچے لکیر استعمال کی جاتی ہے
ٹائم_ٹیکن = ٹائم_ٹیکن * 0.8؛
آگے ہمیں فاصلے کا حساب لگانا ہے ۔ جیسا کہ ہم جانتے ہیں فاصلہ = رفتار * وقت۔ لیکن یہاں نتیجہ کو 2 سے تقسیم کرنا چاہئے کیونکہ لہر منتقل ہونے والے فاصلے اور فاصلے کو حاصل کرنے دونوں پر محیط ہے۔ ہم لہر (آواز) کی رفتار 34000 سینٹی میٹر ہے۔
فاصلہ = (اسپیڈ * ٹائم) / 2 = (34000 * (16 بٹ رجسٹر ویلیو) * 0.0000008) / 2 فاصلہ = (0.0272 * 16 بٹ رجسٹر ویلیو) / 2
تو فاصلہ کا حساب سینٹی میٹر میں نیچے کی طرح لگایا جاسکتا ہے:
فاصلہ = (0.0272 * وقت_بھاکر) / 2؛
فاصلے اور وقت کی قیمت کا حساب لگانے کے بعد ہمیں انہیں LCD اسکرین پر صرف ظاہر کرنا ہے۔
پی آئی سی اور الٹراسونک سینسر کا استعمال کرتے ہوئے فاصلے کی پیمائش کرنا:
کنیکشن بنانے اور کوڈ اپ لوڈ کرنے کے بعد ، آپ کے تجرباتی سیٹ اپ کو کچھ اس طرح نظر آنا چاہئے جو نیچے کی تصویر میں دکھایا گیا ہے۔
اس تصویر میں دکھائے جانے والا پی آئی سی پرفیک بورڈ ہماری پی آئی سی ٹیوٹوریل سیریز کے لئے بنایا گیا تھا ، جس میں ہم نے پی آئی سی مائکروکانٹرولر استعمال کرنے کا طریقہ سیکھا۔ اگر آپ کو پیکٹ 3 کا استعمال کرتے ہوئے کسی پروگرام کو جلانا نہیں آتا تو آپ پی پی سی ایکس ایکس اور ایکس سی 8 کا استعمال کرتے ہوئے ان پی آئی سی مائکروکنٹرولر ٹیوٹوریلز کو واپس جانا چاہتے ہو کیونکہ میں ان تمام بنیادی معلومات کو چھوڑ کر جاؤں گا۔
اب کسی چیز کو سینسر کے سامنے رکھیں اور اس سے یہ ظاہر ہوگا کہ اعتراض سینسر سے کتنا دور ہے۔ آپ لہر کو منتقل اور واپس آنے کے ل micro مائکرو سیکنڈ میں دکھائے جانے والے وقت کو بھی دیکھ سکتے ہیں۔
آپ آبجیکٹ کو اپنی پسند کی دوری پر منتقل کرسکتے ہیں اور وہ قدر چیک کرسکتے ہیں جو LCD پر دکھائی جاتی ہے۔ میں 0.5 سینٹی میٹر کی درستگی کے ساتھ 2 سینٹی میٹر سے 350 سینٹی میٹر تک فاصلے کی پیمائش کرنے میں کامیاب تھا۔ یہ کافی تسلی بخش نتیجہ ہے! امید ہے کہ آپ نے اس ٹیوٹوریل کا لطف اٹھایا ہو گا اور خود ہی کچھ بنانے کا طریقہ سیکھا ہو گا۔ اگر آپ کو کوئی شبہات ہیں تو انہیں نیچے تبصرہ کے سیکشن میں چھوڑیں یا فورمز کا استعمال کریں۔
دوسرے مائکروکنٹرولرز کے ساتھ الٹراسونک سینسر کی انٹرفیسنگ بھی چیک کریں۔
- اردوینو اور الٹراسونک سینسر پر مبنی فاصلہ پیمائش
- راسبیری پائ اور HCSR04 الٹراسونک سینسر کا استعمال کرتے ہوئے فاصلے کی پیمائش کریں
- HC-SR04 اور AVR مائکروکانٹرولر کا استعمال کرتے ہوئے فاصلہ کی پیمائش