- ضروری اجزاء
- GPS سے مقام کا ڈیٹا حاصل کرنا
- سرکٹ ڈایاگرام
- انٹرفیس GPS کے لئے اے وی آر مائکروکونٹرولر کے ساتھ اقدامات
- کوڈ کی وضاحت
عرض البلد اور عرض البلد نقاط پر مبنی مقام کو ٹریک کرنے کے لئے الیکٹرانکس ایپلی کیشنز میں جی پی ایس ماڈیول بڑے پیمانے پر استعمال ہوتے ہیں۔ گاڑیوں سے باخبر رہنے کا نظام ، جی پی ایس کلاک ، ایکسیڈنٹ ڈیٹیکشن الرٹ سسٹم ، ٹریفک نیویگیشن ، نگرانی کا نظام وغیرہ ان مثالوں میں سے چند ایک ہیں جہاں جی پی ایس کی فعالیت ضروری ہے۔ GPS خاص مقام کے بارے میں اونچائی ، طول بلد ، عرض البلد ، UTC کا وقت اور بہت سی دوسری معلومات مہیا کرتا ہے ، جو ایک سے زیادہ سیٹلائٹ سے لیا جاتا ہے۔ GPS سے اعداد و شمار کو پڑھنے کے ل a ، ایک مائکروقانترولر کی ضرورت ہے لہذا ہم یہاں اے وی آر مائکروکنٹرولر اتمیگا 16 کے ساتھ GPS ماڈیول میں مداخلت کر رہے ہیں اور طول بلد اور عرض البلد کو 16x2 LCD ڈسپلے پر چھاپ رہے ہیں۔
ضروری اجزاء
- Atmega16 / 32
- GPS ماڈیول (uBlox Neo 6M GPS)
- لمبی تار اینٹینا
- 16x2 LCD
- 2.2k ریزٹر
- 1000 یو پی کاپاکیٹر
- 10uF کاپاکیٹر
- مربوط تار
- LM7805
- ڈی سی جیک
- 12 وی ڈی سی اڈاپٹر
- برگسٹپس
- پی سی بی یا جنرل مقصد پی سی بی
Ublox Neo 6M ایک سیریل GPS ماڈیول ہے جو سیریل مواصلات کے ذریعے مقام کی تفصیلات فراہم کرتا ہے۔ اس کے چار پن ہیں۔
|
پن |
تفصیل |
|
وی سی سی |
2.7 - 5V بجلی کی فراہمی |
|
Gnd |
زمین |
|
ٹی ایکس ڈی |
ڈیٹا منتقل کریں |
|
آر ایکس ڈی |
ڈیٹا وصول کریں |

Ublox نو 6M GPS ماڈیول TTL ہم آہنگ ہے اور اس کی وضاحت نیچے دی گئی ہے۔
|
وقت پر قبضہ |
ٹھنڈا آغاز: 27s ، گرم ، شہوت انگیز آغاز: 1s |
|
مواصلات کا پروٹوکول |
NMEA |
|
سیریل مواصلات |
9600bps ، 8 ڈیٹا بٹس ، 1 اسٹاپ بٹ ، کوئی برابری اور کوئی بہاؤ کنٹرول نہیں |
|
آپریٹنگ موجودہ |
45 ایم اے |
GPS سے مقام کا ڈیٹا حاصل کرنا
GPS ماڈیول اعداد و شمار کو ایک سے زیادہ تار میں 9600 بوڈ ریٹ پر منتقل کرے گا۔ اگر ہم ایک UART ٹرمینل کا استعمال کرتے ہیں جس میں 9600 بوڈ کی شرح ہوتی ہے تو ، ہم GPS کے ذریعہ موصول ہونے والا ڈیٹا دیکھ سکتے ہیں۔
GPS ماڈیول ریئل ٹائم سے باخبر رہنے کی پوزیشن کا ڈیٹا NMEA فارمیٹ میں بھیجتا ہے (اوپر اسکرین شاٹ دیکھیں)۔ NMEA کی شکل میں متعدد جملے شامل ہیں ، جن میں چار اہم جملے ذیل میں دیئے گئے ہیں۔ NMEA کی سزا اور اس کے ڈیٹا فارمیٹ کے بارے میں مزید تفصیل یہاں پایا جاسکتا ہے۔
- $ جی پی جی جی اے: عالمی پوزیشننگ سسٹم فکس ڈیٹا
- $ GPGSV: دیکھنے میں GPS سیٹلائٹ
- $ GPGSA: GPS DOP اور فعال سیٹلائٹ
- $ جی پی آر ایم سی: تجویز کردہ کم از کم مخصوص GPS / ٹرانزٹ ڈیٹا
GPS ڈیٹا اور NMEA کے بارے میں مزید جانیں۔
یہ ڈیٹا جی پی ایس کے ذریعہ موصول ہوا جب 9600 باؤڈ ریٹ سے منسلک ہوتا ہے۔
$ جی پی آر ایم سی ، 141848.00 ، A ، 2237.63306 ، N ، 08820.86316 ، E ، 0.553 ، 100418 ،،، A * 73 $ GPVTG ،، T، M، 0.553، N، 1.024، K، A * 27 $ GPGGA، 141848.00 ، 2237.63306 ، N ، 08820.86316 ، E ، 1،03،2.56،1.9 ، M ، -54.2 ، M ،، * 74 $ GPGSA ، A ، 2،06،02،05 ،،،،،،،،، 2.75، 2.56،1.00 * 02 $ جی پی جی ایس وی ، 1،1،04،02،59،316،30،05،43،188،25،06،44،022،23،25،03،324، * 76 $ جی پی جی ایل، 2237.63306، ن، 08820.86316، ای، 141848.00 ، A ، A * 65
جب ہم کسی بھی مقام کی سراغ لگانے کے لئے جی پی ایس ماڈیول کا استعمال کرتے ہیں تو ہمیں صرف کوآرڈینیٹ کی ضرورت ہوتی ہے اور ہم اسے جی پی جی جی اے سٹرنگ میں ڈھونڈ سکتے ہیں ۔ صرف $ جی پی جی جی اے (گلوبل پوزیشننگ سسٹم فکس ڈیٹا) سٹرنگ زیادہ تر پروگراموں میں استعمال ہوتی ہے اور دوسرے ڈور کو نظرانداز کیا جاتا ہے۔
$ جی پی جی جی اے ، 141848.00،2237.63306 ، این ، 08820.86316 ، ای ، 1،03،2.56،1.9 ، ایم ، -54.2 ، ایم ، * 74
اس لائن کا کیا مطلب ہے؟
اس لائن کا مطلب ہے: -
1. اسٹرنگ ہمیشہ "$" نشان کے ساتھ شروع ہوتی ہے
2. جی پی جی جی اے کا مطلب عالمی پوزیشننگ سسٹم فکس ڈیٹا ہے
3. “،” کوما دو اقدار کے مابین علیحدگی کی نشاندہی کرتی ہے
4. 141848.00: GMT وقت بطور 14 (گھنٹہ): 18 (منٹ): 48 (سیکنڈ): 00 (ایم ایس)
5. 2237.63306 ، N: عرض البلد 22 (ڈگری) 37 (منٹ) 63306 (سیکنڈ) شمال
6. 08820.86316 ، ای: طول البلد 088 (ڈگری) 20 (منٹ) 86316 (سیکنڈ) وسطی
7. 1: مقدار 0 = غلط ڈیٹا ، 1 = درست ڈیٹا ، 2 = ڈی جی پی ایس طے کریں
8. 03: فی الحال دیکھے گئے سیٹلائٹ کی تعداد۔
9. 1.0: ایچ ڈی او پی
10. 2.56 ، M: اونچائی (میٹر میں سطح سمندر سے بلندی)
11. 1.9 ، ایم: جیوڈز کی اونچائی
12. * 74: چیکسم
لہذا ہمیں ماڈیول مقام یا جہاں واقع ہے ، کے بارے میں معلومات اکٹھا کرنے کے لئے نمبر 5 اور نمبر 6 کی ضرورت ہے۔ اس پروجیکٹ میں ہم نے ایک GPS لائبریری کا استعمال کیا ہے جو عرض البلد اور طول البلد کو نکالنے کے ل some کچھ افعال مہیا کرتا ہے لہذا ہمیں اس کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔
ہمارے پاس پہلے مائیکروکنٹرولروں کے ساتھ GPS انٹرفیس ہے:
- ارڈوینو کے ساتھ GPS کا استعمال کیسے کریں
- راسبیری پِی جی پی ایس ماڈیول انٹرفیسنگ ٹیوٹوریل
- پی آئی سی مائکروکانٹرولر کے ساتھ جی پی ایس ماڈیول کو انٹرفیس کرنا
- ارڈینو ، ای ایس پی 8266 اور جی پی ایس استعمال کرکے گوگل میپس پر ایک گاڑی کو ٹریک کریں
GPS سے متعلق تمام منصوبوں کو یہاں چیک کریں۔
سرکٹ ڈایاگرام
GPS کے لئے AVR Atemga16 مائکروقابو کنٹرولر کے ساتھ انٹرفیسنگ کے لئے سرکٹ ڈایاگرام ذیل میں دیا گیا ہے:

پورا نظام ایک 12 وی ڈی سی اڈاپٹر کے ذریعہ تقویت یافتہ ہے ، لیکن سرکٹس 5v پر کام کرتا ہے لہذا LM7805 وولٹیج ریگولیٹر کے ذریعہ بجلی کی فراہمی 5v پر باقاعدہ ہے۔ ایک 16x2 LCD 4 بٹ موڈ میں تشکیل دیا گیا ہے اور اس کے پن کنکشن سرکٹ آریگرام میں دکھائے گئے ہیں۔ GPS بھی 5v کے ذریعہ تقویت یافتہ ہے اور اس کا tx پن براہ راست Rx of Atmega16 مائکروکونٹرولر سے منسلک ہے۔ مائکروکانٹرولر کو گھڑی کرنے کے لئے 8 میگا ہرٹز کا کرسٹل آسکیلیٹر استعمال کیا جاتا ہے۔

انٹرفیس GPS کے لئے اے وی آر مائکروکونٹرولر کے ساتھ اقدامات
- مائکروکونٹرولر کی تشکیلات مرتب کریں جس میں آسیلیٹر ترتیب موجود ہے۔
- ڈی سی آر رجسٹر سمیت ایل سی ڈی کے لئے مطلوبہ پورٹ مرتب کریں۔
- GPS ماڈیول کو USART کا استعمال کرتے ہوئے مائکروکنٹرولر سے مربوط کریں۔
- UART00 rate باؤڈ ریٹ اور in بٹ موڈ میں LCD کے ساتھ ، نظام UART کو ISR وضع میں شروع کریں۔
- عرض البلد اور طول البلد کی لمبائی پر منحصر ہے۔
- ایک وقت میں ایک حرف تھوڑا سا وصول کریں اور چیک کریں کہ آیا یہ $ سے شروع ہوا ہے یا نہیں۔
- اگر received موصول ہوا ہے تو یہ ایک تار ہے ، ہمیں $ جی پی جی جی اے چیک کرنے کی ضرورت ہے ، اس 6 حروف سمیت $۔
- اگر یہ جی پی جی جی اے ہے تو ، پھر مکمل تار وصول کریں اور جھنڈے سیٹ کریں۔
- پھر دو صفوں میں سمت کے ساتھ عرض بلد اور طول البلد نکالیں۔
- آخر میں LCD میں طول البلد اور طول البلد اشاعت کو پرنٹ کریں۔

کوڈ کی وضاحت
ایک مظاہرے ویڈیو کے ساتھ مکمل کوڈ آخر میں دیا گیا ہے ، یہاں کوڈ کے کچھ اہم حصوں کی وضاحت کی گئی ہے۔
سب سے پہلے کوڈ میں کچھ مطلوبہ ہیڈر شامل کریں اور پھر ایل سی ڈی اور یو آر ٹی کی تشکیل کے لئے بٹ ماسک کا میکرو لکھیں۔
# وضاحت F_CPU 8000000ul # شامل کریں # شامل کریں
اب GPS سٹرنگ ، عرض البلد طول البلد اور جھنڈوں کو اسٹور کرنے کے ل some کچھ متغیرات اور اشاروں کا اعلان اور ابتدا کریں۔
چار بوف؛ غیر مستحکم چار انڈ ، پرچم ، سٹرنگ حاصل؛ char gpgga = {'$'، 'G'، 'P'، 'G'، 'G'، 'A'}؛ چار عرض البلد؛ چار رسد؛
اس کے بعد ، ہمارے پاس LCD چلانے کے ل some کچھ LCD ڈرائیور فنکشن موجود ہے۔
باطل lcdwrite (چار CH، چار ر) { LCDPORT = ch & 0xF0؛ RWLow؛ اگر (r == 1) RS ہائی؛ اور RSLow؛ ENHigh؛ _ڈیلا_س (1)؛ ENLow؛ _ڈیلا_س (1)؛ LCDPORT = ch << 4 & 0xF0؛ RWLow؛ اگر (r == 1) RS ہائی؛ اور RSLow؛ ENHigh؛ _ڈیلا_س (1)؛ ENLow؛ _ڈیلا_س (1)؛ } باطل lcdprint (چار * STR) { جبکہ (* STR) { lcdwrite (* STR + +، ڈیٹا)؛ // __ تاخیر_ میل (20)؛ } } باطل lcdbegin () { چار lcdcmd = {0x02،0x28،0x0E، 0x06،0x01}؛ (INT i = 0؛ i <5؛ i ++) کیلئے lcdwrite (lcdcmd، CMD)؛ }
اس کے بعد ہم نے GPS کے ساتھ سیریل مواصلات کا آغاز کیا اور موصولہ تار کو "GPGGA" سے موازنہ کیا:
باطل serialbegin () { UCSRC = (1 << URSEL) - (1 << UCSZ0) - (1 << UCSZ1)؛ UBRRH = (BAUD_PRESCALE >> 8)؛ UBRRL = BAUD_PRESCALE؛ UCSRB = (1 <
اب اگر موصولہ تار جی پی جی جی اے کے ساتھ کامیابی کے ساتھ ملاپ کی گئی ہے تو پھر مرکزی فنکشن کے اقتباس میں اور مقام کا طول بلد اور عرض البلد کوآرڈینیٹ ڈسپلے کریں:
lcdwrite (0x80،0)؛ lcdprint ("لات:")؛ سیریل پرنٹ ("عرض البلد:")؛ کے لئے (int میں 15 =؛ میں <27؛ میں ++) { بلد = buf؛ ایل سی ڈی رائٹ (عرض بلد ، 1)؛ سیریلائٹ (عرض بلد)؛ اگر (میں == 24) { lcdwrite (''، 1)؛ میں ++؛ } } سیریل پرنٹلن ("")؛ lcdwrite (192،0)؛ lcdprint ("لاگ:")؛ سیریل پرنٹ ("عرض البلد:")؛ ( انٹرا i = 29؛ i <41؛ i ++) { لوجٹیڈ = بف؛ lcdwrite (عرض البلد ، 1)؛ سیریلائٹ (رسد)؛ اگر (میں == 38) { lcdwrite (''، 1)؛ میں ++؛ } }
لہذا اس طرح مقامات کے نقاط کو تلاش کرنے کے لئے GPS ماڈیول کو ATmega16 کے ساتھ انٹرفیس کیا جاسکتا ہے۔
نیچے مکمل کوڈ اور ورکنگ ویڈیو تلاش کریں ۔
