ڈیجیٹل اور ینالاگ پنوں کے ذریعہ ، جسے آپ اپنے ارڈینو بورڈ پر استعمال کرسکتے ہیں ، آپ اپنے الیکٹرانک پروجیکٹس سے ڈیٹا کو کنٹرول کرنے یا حاصل کرنے کے لئے بجلی کے سگنل وصول یا بھیج سکتے ہیں۔ اس کے علاوہ ، اس قسم کی پلیٹ میں اور بھی بہت دلچسپ اشارے ہیں ، اور وہی ہیں پی ڈبلیو ایم ، جو اصل میں ینالاگ ہونے کے بغیر ینالاگ سگنل کی تقلید کرسکتا ہے۔ یعنی ، وہ ڈیجیٹل پن ہیں جو ینالاگ سگنل کی طرح کام کرسکتے ہیں (ایک جیسے نہیں)۔
اس قسم کے اشارے اس وقت بہت عملی ہیں جب آپ نہ صرف ڈیجیٹل HIGH اور LOW سگنلز ، یعنی 1 یا 0 ، آن اور آف استعمال کرنا چاہتے ہیں ، بلکہ آپ مزید وضاحت کرنا چاہتے ہیں کچھ زیادہ پیچیدہ اشارے۔ مثال کے طور پر ، a کی رفتار کو تیز کرنا ممکن ہے موٹر ڈی سی، یا کسی سولیائیڈ وغیرہ کے ل a روشنی کی روشنی کی شدت۔
انڈیکس
ینالاگ بمقابلہ ڈیجیٹل سسٹم
الیکٹرانک سرکٹس کو دو بڑے کنبے یا زمرے میں تقسیم کیا جاسکتا ہے۔ ڈیجیٹل اور ینالاگ. جب ڈیجیٹل الیکٹرانکس کے بارے میں بات کرتے ہو تو ، ہم مجرد اقدار کے ساتھ مقداریں استعمال کررہے ہیں ، یعنی ، ایک بائنری نظام جس کی نمائندگی کم یا زیادہ وولٹیج کے برقی سگنلوں کے ذریعہ کی جاتی ہے تاکہ ان بٹس کی حالت کی تشریح کی جاسکے جنہیں سنبھالا جاتا ہے۔ دوسری طرف ، جب یہ ینالاگ سرکٹ کی بات آتی ہے تو ، مستقل اقدار والی مقدار استعمال کی جارہی ہے۔
ڈیجیٹل سسٹم کے اندر ہی بدلے میں پایا جاسکتا ہے مشترکہ قسم کی اور ترتیب وار قسم کی. یعنی ، سابقہ وہ ہیں جن میں نظام کی پیداوار صرف ان پٹ کی حالت پر منحصر ہے۔ دوسری طرف ، ترتیب والے میں ، میموری عناصر شامل ہیں ، اور آؤٹ پٹ ان پٹ کی موجودہ حالت اور ذخیرہ شدہ پچھلی ریاست پر منحصر ہوگا۔
اینلاگس کی صورت میں یہ دو بڑے گروپس یا مختلف حالتیں نہیں ہیں ، کیونکہ یہاں وہ مستقل اشارے ہیں جو ہمیشہ انحصار کریں گے۔ سگنل موجودہ نظام مثال کے طور پر ، لاؤڈ اسپیکر میں ، جو سگنل اس کو فراہم کیا جاتا ہے اس کا انحصار اس آواز پر ہوگا جو آپ دوبارہ پیش کرنا چاہتے ہیں۔ مائیکروفون کے ساتھ وہی ، جو اس کو موصول ہونے والی آواز پر منحصر ہوتا ہے جس کے مطابق سگنل تیار کرے گا۔ یقینا you آپ نے اسے دوسرے بہت سارے سینسروں کے ساتھ بھی دیکھا ہے جو ہم نے اس بلاگ میں بیان کیا ہے اور جو ینالاگ سگنلز کے ساتھ کام کرتے ہیں (اور اس وجہ سے ، ایک فارمولا تشکیل دینا تھا تاکہ بعد میں آرڈینو آئ ڈی ای خاکوں میں اقدار کا حساب لگایا جا condition یا مشروط کیا جاسکے۔ ) ...
ایک اور دوسرے کی یہ خصوصیات کچھ کو اپنی بناتی ہیں فوائد اور نقصانات، جیسا کہ تقریبا ہر چیز میں معمول ہے۔ مثال کے طور پر ، ڈیجیٹل والے زیادہ سستے ، تیز تر ، ترقی کرنے میں آسان تر ہوتے ہیں ، معلومات کو آسانی سے محفوظ کیا جاسکتا ہے ، ان میں زیادہ درستگی ہوتی ہے ، ان کو پروگرام کیا جاسکتا ہے ، وہ شور کے اثر سے زیادہ خطرہ نہیں ہیں وغیرہ۔ لیکن یہ بھی سچ ہے کہ اینلاگس کے ساتھ آپ زیادہ پیچیدہ اشاروں کے ساتھ کام کرسکتے ہیں۔
کی طرف سے ایجیمپل، ایک ڈیجیٹل قسم ہال اثر سینسر صرف قریبی مقناطیسی فیلڈ کی موجودگی یا غیر موجودگی کا پتہ لگاسکتا ہے۔ اس کے بجائے ، ینالاگ ہال اثر سینسر ایسا کرسکتا ہے اور ینالاگ سگنل کی بدولت کہا ہوا مقناطیسی فیلڈ کی کثافت کا بھی تعین کرتا ہے جو یہ اپنی پیداوار میں پیدا کرتا ہے۔ زیادہ سے کم یا کم وولٹیج کے اس سگنل کی اچھی طرح سے تشریح کرنے کے بارے میں جاننے کے بعد ، آپ آسانی سے اس شدت کو جان سکتے ہو۔ آپ کی فطرت کے بہت زیادہ پیمانے پر موجود دیگر مثالوں کے بارے میں جو آپ ینالاگ نظام کے ساتھ مقدار کی پیمائش کرسکتے ہیں ، جیسے درجہ حرارت ، وقت ، دباؤ ، فاصلہ ، آواز وغیرہ۔
ینالاگ بمقابلہ ڈیجیٹل سگنل
یہ کہا جارہا ہے ، الف ینالاگ سگنل یہ ایک وولٹیج یا الیکٹرک کرنٹ ہوگا جو وقت اور مستقل طور پر مختلف ہوتا ہے۔ اگر گرفت ہوا تو ، ینالاگ سگنل ایک ہی فریکوئنسی سائن لہر کا ہوگا۔
جیسا کہ ڈیجیٹل سگنل، ایک وولٹیج ہے جو وقت کے سلسلے میں قدم بہ قدم انداز میں مختلف ہوتا ہے۔ یعنی ، اگر اس کی نمائندگی کسی گراف پر کی جائے تو ، یہ ایک مرحلہ سگنل ہوگا جو مستقل طور پر مختلف نہیں ہوتا ہے ، لیکن اقدامات میں تبدیلی یا مجرد انکریمنٹ ہوتی ہے۔
آپ کو معلوم ہونا چاہئے کہ ینالاگ سگنل سے ڈیجیٹل تک جانے کے ل circ سرکٹس موجود ہیں یا اس کے برعکس۔ یہ کنورٹرس وہ ڈی اے سی (ڈیجیٹل سے اینالاگ کنورٹر) اور اے ڈی سی (ینالاگ سے ڈیجیٹل کنورٹر) کے نام سے جانے جاتے ہیں۔ اور یہ بہت سارے آلات میں بہت عام ہیں جن کو ہم آجکل استعمال کرتے ہیں ، جیسے ٹی وی ، کمپیوٹر وغیرہ۔ ان آلات کے ذریعہ استعمال ہونے والے ڈیجیٹل سگنلز کو دوسرے پیریفرلز یا حصوں کے ساتھ مل کر کام کرنے کے ل an آپ کو الیکٹرانک سطح میں تبدیل کر سکتے ہیں۔
کی طرف سے ایجیمپل، ینالاگ سگنل والا اسپیکر یا مائکروفون جو ساؤنڈ کارڈ ، یا ڈیجیٹل گرافکس کارڈ کے ساتھ کام کرتا ہے جس میں ینالاگ مانیٹر بندرگاہوں کے لئے مشہور رام ڈیک چپ موجود ہے ... اردوینو میں اس قسم کے کنورٹر متعدد پروجیکٹس کے لئے بھی استعمال کیے جاتے ہیں ، جیسا کہ ہم دیکھیں گے ...
پی ڈبلیو ایم کیا ہے؟
اگرچہ پی ڈبلیو ایم (پلس چوڑائی ماڈلن) ، یا پلس چوڑائی ماڈلن ، ڈیجیٹل بیس ہے ، اس کے سگنل کی شکل کسی حد تک "مربع" ینالاگ سگنل سے ملتی ہے۔ یہ ڈیجیٹل دالوں کے ذریعہ ینالاگ نظام کی تقلید کے ل the سگنل کو مختلف کرنے کی اجازت دیتا ہے جیسا کہ میں پہلے بھی تبصرہ کر چکا ہوں۔ دراصل ، اگر آپ نام دیکھیں تو ، یہ پہلے سے ہی آپ کو ڈیجیٹل دالوں کی چوڑائی کے ذریعے ، جو کچھ کرتا ہے اس کا اشارہ فراہم کرتا ہے۔
اس کے لئے فائدہ مند ہے Arduino چونکہ بہت سے خود کار طریقے یا الیکٹرانک اجزاء ہیں جو آپ اپنے منصوبوں میں شامل کرسکتے ہیں اور اس میں وہ صحیح ینالاگ سگنل فراہم کرنے کے اہل نہیں ہیں، لیکن وہ اس PWM کو کام کرنے کیلئے استعمال کرتے ہیں۔ اور نہ ہی وہ اختیاری مطابق سگنل استعمال کرسکتے ہیں ، یعنی یہ کہ ڈیجیٹل سے ملنے کے ل to وولٹیج چھلانگ پر چلا جاتا ہے۔ وہ کیا کرسکتے ہیں یہ ایک عجیب سگنل تیار کرنے کے لئے ڈیجیٹل آؤٹ پٹ - وی سی سی یا ڈیجیٹل قسم کا وی سی سی استعمال کریں۔
لہذا ، پی ڈبلیو ایم ایک طرح کی "چال" ہے جس کے ذریعہ اردوینو اور دوسرے سسٹم اس قسم کے اشاروں میں مداخلت کرسکتے ہیں کہ وہ بالکل ینالاگ نہیں ہیں اور نہ ہی وہ روایتی ڈیجیٹل ہیں. اس کو ممکن بنانے کے ل they ، وہ ہر وقت دلچسپی پر منحصر ہوتے ہوئے ، ایک مخصوص وقت یا بند کے لئے ڈیجیٹل آؤٹ پٹ کو فعال رکھتے ہیں۔ یہ دور کی بات ہے کہ ڈیجیٹل گھڑی یا بائنری کوڈ سگنل کیا ہوگا ، جس کی دالوں کی چوڑائ ایک ہی ہے۔
ارڈینو کے ساتھ اپنے منصوبوں میں آپ اس قسم کے پی ڈبلیو ایم سگنل کو جانچ سکتے ہیں جس میں وقت کے ساتھ ساتھ پلس محرکات کی مستقل تعدد برقرار رہتا ہے ، لیکن ان دالوں کی چوڑائی مختلف ہوتی ہے. درحقیقت ، اس کو ڈیوٹی سائیکل کہا جاتا ہے جب سائیکل کی کل کے لحاظ سے کسی سگنل کو اونچا رکھا جاتا ہے۔ لہذا ، ڈیوٹی سائیکل٪ میں دی جاتی ہے۔
یاد رکھیں کہ ایک پی ڈبلیو ایم میں آپ ینالاگ سگنل کی طرح کام نہیں کرتے ہیں ، متعدد وولٹیج اقدار کے درمیان اور یہ ان کے درمیان اتار چڑھاؤ ہوتا ہے۔ پی ڈبلیو ایم کے معاملے میں یہ ڈیجیٹل انداز میں مربع اشارہ ہے اور جس کی زیادہ سے زیادہ قیمت Vcc ہے. مثال کے طور پر ، اگر آپ 3V بجلی کی فراہمی کے ساتھ کام کرتے ہیں تو ، آپ 3V یا 0V دالیں دے سکتے ہیں ، لیکن 1V یا کوئی دوسری انٹرمیڈیٹ ویلیو نہیں دے سکتے ہیں جیسا کہ حقیقی ینالاگ میں ہوتا ہے۔ اس معاملے میں جو چیز مختلف ہوگی وہ ہے نبض کی چوڑائی ، جسے ہم 30 فیصد اعلی وی سی سی ویلیو پر برقرار رکھ سکتے ہیں ، یا 60 فیصد زیادہ طاقت دینے کے ل XNUMX۔
لیکن ہوشیار رہیں ، کیونکہ اگر کوئی آلہ Vcc کی حد کی حمایت کرتا ہے اور PWM سے تجاوز کر جاتا ہے تو ، اسے نقصان پہنچا جاسکتا ہے۔ لہذا یہ ہمیشہ ضروری ہوگا کہ مینوفیکچروں کے ذریعہ فراہم کردہ ڈیٹاشیٹ کی قدروں کا احترام کریں۔ نیز ، کچھ آلات جیسے ڈی سی موٹرز میں ، ریلے، برقناطیسیوں وغیرہ ، ڈیوٹی سائیکل کے بعد وولٹیج کا انخلاء کا مطلب یہ ہوسکتا ہے کہ دلکش بوجھ سے نقصان ہوسکتا ہے۔ اسی لئے تحفظات بروقت
پی ڈبلیو ایم پر آرڈینو
اب جب آپ جانتے ہیں کہ یہ کیسے کام کرتا ہے ، آئیے آرڈینو دنیا میں پی ڈبلیو ایم کا مخصوص کیس دیکھیں ...
پی ڈبلیو ایم: ارڈینو پر پن آؤٹ
ارڈینو بورڈ پر آپ کو کئی پن مل سکتی ہیں جو ہارڈ ویئر PWM کو نافذ کرتی ہیں۔ آپ انہیں پی سی بی میں ہی شناخت کرسکتے ہیں کیونکہ ان کے پاس ایک ہے علامت ~ (چھوٹا سر) پن نمبر دینے کے ساتھ ساتھ۔ یہ آرڈینوو کوڈ میں سوفٹویئر کے ذریعہ بھی کیا جاسکتا ہے ، لیکن یہ کام مائکرو قابو پانے والے کو زیادہ بوجھ دیتا ہے ، جب کہ یہ آبائی طور پر اور ہارڈ ویئر کے ذریعہ کیا جاسکتا ہے ...
- Arduino UNO، منی اور نینو- آپ کے پاس پنوں 6 ، 8 ، 3 ، 5 ، 6 ، اور 9 میں 10 11 بٹ پی ڈبلیو ایم آؤٹ پٹ ہیں ، جس میں یہ تعداد کے سامنے دائیں طرف ہوگی۔
- اردوینو میگا- اس انتہائی طاقتور آرڈینو بورڈ پر آپ کے پاس 15 8 بٹ پی ڈبلیو ایم آؤٹ پٹس ہیں۔ وہ پنوں 2 سے 13 اور 44 کے ذریعے 46 پر ہیں۔
- اردوینو کی وجہ سے: اس معاملے میں 13 8 بٹ پی ڈبلیو ایم آؤٹ پٹس ہیں۔ وہ 2 سے 13 تک پنوں پر ہیں ، علاوہ ازیں دو دیگر ینالاگ آؤٹ پٹ جنہیں ڈی اے سی نے 12 بٹ ریزولوشن کے ذریعہ اختیار کیا ہے۔
جب آپ اس طرح کے پی ڈبلیو ایم آؤٹ پٹس میں 8 بٹ یا 12 بٹ ریزولوشن وغیرہ کے بارے میں بات کرتے ہیں تو ، آپ اپنے پاس پینتریبازی کے ل the کمرے کا حوالہ دیتے ہیں۔ کے ساتھ 8 بٹس میں 256 سطح ہیں جس کے درمیان آپ مختلف ہو سکتے ہیں ، اور 12 بٹس 4096 کی سطح تک جاسکتے ہیں۔
ٹائمر کے ساتھ کنٹرول کریں
ہارڈ ویئر PWM کنٹرول کے لئے ، ارڈینو ٹائمر استعمال کریں گے اس کے لئے. ہر موجودہ ٹائمر 2 یا 3 PWM آؤٹ پٹ کی خدمت کرسکتا ہے۔ ہر آؤٹ پٹ کے لئے موازنہ کا اندراج اس سسٹم کی تکمیل کرتا ہے تاکہ جب وقت رجسٹر کی قیمت تک پہنچ جائے تو ان ڈیوٹی سائیکلوں کو روکنے کے ل the آؤٹ پٹ کی حالت یا قیمت کو تبدیل کردیا جائے۔ اگرچہ ایک ہی ٹائمر کے ذریعہ دو آؤٹ پٹ کنٹرول ہوتے ہیں ، دونوں میں مختلف ڈیوٹی سائیکل ہوسکتی ہیں ، اگرچہ وہ ایک ہی فریکوئنسی میں شریک ہیں۔
ہر PWM پن سے وابستہ ٹائمر کی صورت میں ، یہ مختلف ہوگا Ardino بورڈ کی قسم پر منحصر ہے جو آپ کے پاس ہے:
- Arduino UNO، منی اور نینو:
- ٹائمر0 - 5 اور 6
- ٹائمر1 - 9 اور 10
- ٹائمر2 - 3 اور 11
- اردوینو میگا:
- ٹائمر0 - 4 اور 13
- ٹائمر1 - 11 اور 12
- ٹائمر2 - 9 اور 10
- ٹائمر 3 - 2 ، 3 اور 5
- ٹائمر 4 - 6 ، 7 اور 8
- ٹائمر 5 - 44 ، 45 اور 46
نسخہ شدہ رجسٹر وقت کو کسی عدد کے ساتھ تقسیم کرے گا اور ٹائمر باقی تمام PWM آؤٹ پٹس کو کنٹرول کرنے کے لئے کرتا ہے۔ رجسٹری ویلیو میں ترمیم کرنا تعدد کو بدل سکتا ہے۔ تعدد وہ بھی ٹائمر اور پلیٹ کے لحاظ سے مختلف ہوں گے۔
- Arduino UNO، منی اور نینو:
- ٹائمر0: 1 ، 8 ، 64 ، 256 اور 1024 پریسکلنگ کی اجازت دیتا ہے۔ فریکوینسی 62.5 Khz ہے۔
- ٹائمر 1: 1 ، 8 ، 64 ، 256 اور 1024 کے پریسیٹس کے ساتھ۔ 31.25 Khz کی فریکوینسی کے ساتھ۔
- ٹائمر 2: ٹائمر 1 کے برابر ، صرف اس میں پچھلے والے کے علاوہ 32 اور 128 کا نسخہ شامل کیا جاتا ہے۔
- اردوینو میگا:
- ٹائمر 0 ، 1 ، 2: اوپر کی طرح۔
- ٹائمر 3 ، 4 اور 5: 31.25 Khz کی فریکوینسی کے ساتھ اور 1 ، 8 ، 64 ، 256 اور 1024 کے نسخہ۔
نامکملیاں اور تنازعات
ٹائمر نتائج کے ساتھ وابستہ نہ صرف اس فنکشن کے لئے، دوسروں کے ذریعہ بھی استعمال ہوتا ہے۔ لہذا ، اگر وہ کسی اور فنکشن کے ذریعہ استعمال ہورہے ہیں تو ، آپ کو ایک یا دوسرے کے درمیان انتخاب کرنا ہوگا ، آپ بیک وقت دونوں استعمال نہیں کرسکتے ہیں۔ مثال کے طور پر ، یہ کچھ ایسی ناممکنات ہیں جو آپ کو اپنے منصوبوں میں مل سکتی ہیں۔
- امدادی لائبریری: جب آپ امدادی موٹریں استعمال کرتے ہیں تو ، یہ ٹائمر کا گہرا استعمال کرتا ہے ، لہذا اس سے تنازعات پیدا ہوسکتے ہیں۔ خاص طور پر UNO ، Nano اور Mini کے لئے ٹائمر 1 استعمال کریں ، یعنی ، جب آپ اس لائبریری کے ساتھ خاکہ استعمال کر رہے ہو تو آپ 9 اور 10 پنوں کا استعمال نہیں کرسکتے ہیں۔ میگا میں یہ سرووز کی تعداد پر منحصر ہوگا ...
- ایس پی آئی: اگر آرڈینو بورڈ میں ایس پی آئی مواصلت استعمال کی جاتی ہے تو ، MOSI فنکشن کے لئے پن 11 استعمال کیا جا رہا ہے۔ یہی وجہ ہے کہ پی ڈبلیو ایم پن استعمال نہیں کیا جاسکتا ہے۔
- سر: یہ فنکشن کام کرنے کیلئے ٹائمر 2 کا استعمال کرتا ہے۔ لہذا اگر یہ استعمال ہوتا ہے تو ، آپ پنوں 3 اور 11 (یا میگا کیلئے 9 اور 10) بیکار بنا رہے ہیں۔
Ardino کے ساتھ ہاتھ پر ٹیسٹ
اگر آپ آن سائٹ پر دیکھنا چاہتے ہیں کہ پی ڈبلیو ایم آردوینو پر کس طرح کام کرتا ہے تو ، آپ جو کر سکتے ہیں وہ سب سے بہتر چیز جس کی پیمائش لیڈز کو مربوط کرنا ہے۔ وولٹ میٹر یا ملٹی میٹر (وولٹیج کی پیمائش کرنے کے لئے فنکشن میں) جس PWM پن کو آپ نے استعمال کیا ہے اور ارڈینو بورڈ کے گراؤنڈ پن یا GND کے درمیان۔ اس طرح ، پیمائش کرنے والے آلے کی اسکرین پر آپ دیکھ سکیں گے کہ وولٹیج کیسے آؤٹ پٹ کے ساتھ تبدیل ہورہی ہے جو اس پی ڈبلیو ایم ٹرک کی بدولت ڈیجیٹل شکریہ ہے۔
آپ وولٹ میٹر / ملٹی میٹر کو ایل ای ڈی کے ذریعہ تبدیل کرسکتے ہیں تاکہ یہ دیکھیں کہ روشنی کی شدت کس طرح مختلف ہوتی ہے ، کسی ڈی سی موٹر سے ، یا کسی دوسرے عنصر کے ساتھ جو آپ چاہتے ہیں۔ میں نے اسے بغیر کسی ایل ای ڈی کے ساتھ فرٹیزنگ کے ساتھ آریھ میں آسان کیا ہے ، لیکن جانتے ہو کہ یہ ملٹی میٹر کے اشارے بھی پیش کرسکتا ہے ...
اگر آپ ایل ای ڈی استعمال کرتے ہیں تو کیتھڈ اور جی این ڈی میں مزاحمت یاد رکھیں۔
کرنے ماخذ کوڈ ہر چیز کو کام کرنے کے ل A آرڈینو بورڈ کے مائکروقابو کنٹرولر کو کنٹرول کرنے کے ل you ، آپ کو اسے ارڈینو آئ ڈی ای میں ڈالنا چاہئے (اس معاملے میں میں نے پی ڈبلیو ایم پن 6 کا استعمال کیا ہے Arduino UNO):
const int analogOutPin = 6; byte outputValue = 0; void setup() { Serial.begin(9600); pinMode(ledPIN , OUTPUT); bitSet(DDRB, 5); // LED o voltímetro bitSet(PCICR, PCIE0); bitSet(PCMSK0, PCINT3); } void loop() { if (Serial.available()>0) { if(outputValue >= '0' && outputValue <= '9') { outputValue = Serial.read(); // Leemos la opción outputValue -= '0'; // Restamos '0' para convertir a un número outputValue *= 25; // Multiplicamos x25 para pasar a una escala 0 a 250 analogWrite(ledPIN , outputValue); } } } ISR(PCINT0_vect) { if(bitRead(PINB, 3)) { bitSet(PORTB, 5); // LED on } else { bitClear(PORTB, 5); // LED off } }
ایک تبصرہ ، اپنا چھوڑ دو
ہیلو اچھے دن سب سے پہلے میں اس وضاحت کے لئے تازہ ترین کے لئے مختص وقت کے لئے آپ کا شکریہ ادا کرنا چاہتا ہوں۔
میں آپ سے استفسار کرنا چاہتا ہوں۔ میں ارگوینو میگا کے لئے ایک پروٹیس 8 ایمولیٹر پر کوڈ چلانے کی کوشش کر رہا ہوں۔ میں وولٹ میٹر کو پن کو پن سے جوڑتا ہوں ، پروٹیوس سیریل پورٹ سے جڑا ہوا ہے ، لیکن مجھے نہیں معلوم کہ کس طرح یا کیا مختلف ہونا ہے تاکہ مختلف وولٹیج آؤٹ پٹ ہوں۔ مجھے اس کو مرتب کرنے کے لئے کوڈ میں معمولی ایڈجسٹمنٹ کرنا پڑی۔ آپکی مدد کا بہت شکریہ