پچھلے سبق میں ، ہم نے کمپیوٹر کے ساتھ GPS ماڈیول کو انٹرفیس کرنے کا طریقہ اور GSM اور GPS کا استعمال کرتے ہوئے گاڑی کو ٹریک کرنے کا طریقہ سیکھا ہے۔ ہم نے ارڈینو اور ایکسیلیومیٹر کا استعمال کرتے ہوئے وہیکل ایکسیڈنٹ الرٹ سسٹم بھی بنایا ہے۔ یہاں ہم پھر وہی پروجیکٹ بنا رہے ہیں لیکن اس بار گاڑی کے حادثے کا پتہ لگانے کے لئے ایم ایس پی 430 لانچ پیڈ اور ایک کمپن سینسر استعمال کیا جائے گا۔ لہذا یہ پروجیکٹ ایم ایس پی 430 لانچ پیڈ کے ساتھ کمپن سینسر میں مداخلت کے بارے میں بھی بتائے گا۔ آپ یہاں مزید MSP430 پروجیکٹس تلاش کرسکتے ہیں۔
یہاں کمپن سینسر ماڈیول گاڑیوں کے کمپن کا پتہ لگاتا ہے اور ایم ایس پی 430 لانچ پیڈ پر سگنل بھیجتا ہے۔ پھر ایم ایس پی 430 جی پی ایس ماڈیول سے ڈیٹا لاتا ہے اور جی ایس ایم ماڈیول کا استعمال کرکے ایس ایم ایس کے ذریعے صارف موبائل فون پر بھیجتا ہے۔ ایک ایل ای ڈی ایکسیڈنٹ الرٹ سگنل کے طور پر بھی چمک جائے گا ، اس ایل ای ڈی کو کچھ الارم کے ذریعہ تبدیل کیا جاسکتا ہے۔ حادثے کا مقام GPS ماڈیول سے طول بلد اور طول البلد سے اخذ کردہ گوگل میپ لنک کی شکل میں بھیجا گیا ہے ۔ آخر میں ڈیمو ویڈیو دیکھیں ۔
GPS ماڈیول ریئل ٹائم میں ٹریکنگ پوزیشن سے متعلق ڈیٹا بھیجتا ہے ، اور یہ NMEA فارمیٹ میں بہت سارے ڈیٹا بھیجتا ہے (نیچے کا اسکرین شاٹ دیکھیں)۔ NMEA کی شکل میں متعدد جملے ہوتے ہیں ، جس میں ہمیں صرف ایک جملے کی ضرورت ہوتی ہے۔ یہ جملہ $ جی پی جی جی اے سے شروع ہوتا ہے اور اس میں نقاط ، وقت اور دیگر مفید معلومات پر مشتمل ہے۔ اس جی پی جی جی اے کو گلوبل پوزیشننگ سسٹم فکس ڈیٹا کہا جاتا ہے ۔ NMEA جملوں اور GPS ڈیٹا کو پڑھنے کے بارے میں مزید معلومات حاصل کریں۔
ہم اسٹرنگ میں کوما گنتی کرکے $ GPGGA سٹرنگ سے کوآرڈینیٹ نکال سکتے ہیں۔ فرض کریں کہ آپ کو $ جی پی جی جی اے سٹرنگ مل گئی ہے اور اس کو ایک صف میں اسٹور کر دیا گیا ہے ، تو طول بلد دو کوما کے بعد پایا جاسکتا ہے اور طول بلد چار کوما کے بعد مل سکتا ہے۔ اب ، اس عرض البلد اور طول البلد کو دیگر صفوں میں رکھا جاسکتا ہے۔
ذیل میں $ جی پی جی جی اے اسٹرنگ ، اس کی تفصیل کے ساتھ ہے۔
$ GPGGA ، 104534.000،7791.0381 ، N ، 06727.4434 ، E ، 1،08،0.9،510.4 ، M ، 43.9 ، M ، * 47 $ GPGGA ، HHMMSS.SSS ، عرض البلد ، N ، طول البلد ، E ، FQ ، NOS ، HDP ، اونچائی ، M ، اونچائی ، M ، چیکسم ڈیٹا
شناخت کرنے والا |
تفصیل |
$ جی پی جی جی اے |
عالمی پوزیشننگ سسٹم فکس ڈیٹا |
HHMMSS.SSS |
گھنٹہ منٹ سیکنڈ اور ملی سیکنڈ کی شکل میں وقت۔ |
طول |
طول بلد (مربوط) |
این |
سمت N = شمال ، S = جنوب |
طول البلد |
طول البلد (مربوط) |
ای |
سمت E = مشرق ، ڈبلیو = مغرب |
ایف کیو |
کوالٹی ڈیٹا کو درست کریں |
NOS |
استعمال ہونے والے مصنوعی سیاروں کی تعداد |
ایچ ڈی پی |
صحت سے متعلق افقی حرکت |
اونچائی |
اونچائی (سطح سمندر سے میٹر) |
ایم |
میٹر |
اونچائی |
اونچائی |
چیکسم |
چیکسم ڈیٹا |
جی ایس ایم ماڈیول
سم 900 ایک کواڈ بینڈ جی ایس ایم / جی پی آر ایس ماڈیول ہے جس کو آسانی سے گاہک یا شوق کے ذریعہ استعمال کیا جاسکتا ہے۔ سم 900 جی ایس ایم ماڈیول ایک صنعت کا معیاری انٹرفیس فراہم کرتا ہے۔ سم 900 آواز ، ایس ایم ایس ، کم بجلی کی کھپت کے ساتھ ڈیٹا کیلئے GSM / GPRS 850/900/1800 / 1900MHz کارکردگی فراہم کرتا ہے۔ یہ مارکیٹ میں آسانی سے دستیاب ہے۔
- سم 900 جو AMR926EJ-S کور کو مربوط کرنے کے لئے سنگل چپ پروسیسر کا استعمال کرکے ڈیزائن کیا گیا ہے
- چھوٹے سائز میں کواڈ بینڈ جی ایس ایم / جی پی آر ایس ماڈیول۔
- جی پی آر ایس قابل بنایا گیا
اے ٹی کمانڈز
AT کا مطلب ہے توجہ۔ یہ کمانڈ GSM ماڈیول کو کنٹرول کرنے کے لئے استعمال کیا جاتا ہے۔ کال کرنے اور میسج کرنے کے لئے کچھ احکامات موجود ہیں جن کو ہم ارڈوینو کے ساتھ اپنے سابقہ جی ایس ایم پروجیکٹس میں استعمال کر چکے ہیں۔ جی ایس ایم ماڈیول کی جانچ کے لئے ہم نے اے ٹی کمانڈ استعمال کیا۔ اے ٹی کمانڈ حاصل کرنے کے بعد جی ایس ایم ماڈیول ٹھیک کے ساتھ جواب دیں۔ اس کا مطلب ہے کہ جی ایس ایم ماڈیول ٹھیک کام کر رہا ہے۔ ذیل میں کچھ اے ٹی کمانڈز ہیں جو ہم اس پروجیکٹ میں یہاں استعمال کرتے ہیں:
گونج آف کرنے کے لئے ATE0
AT + CNMI = 2،2،0،0،0
اے ٹی ڈی
AT + CMGF = 1
AT + CMGS = "موبائل نمبر"
>> اب ہم اپنا پیغام لکھ سکتے ہیں
>> ایک پیغام لکھنے کے بعد
Ctrl + Z پیغام کمانڈ بھیجتا ہے (26 اعشاریہ 26)
HEX میں ENTER = 0x0d
(جی ایس ایم ماڈیول کے بارے میں مزید جاننے کے ل various ، یہاں مختلف مائکروکنٹرولرز کے ساتھ ہمارے مختلف جی ایس ایم پروجیکٹس کو چیک کریں)
کمپن سینسر ماڈیول
اس ایم ایس پی 430 ایکسیڈنٹ الرٹ سسٹم پروجیکٹ میں ، ہم نے ایک کمپن سینسر ماڈیول استعمال کیا ہے جو کمپن یا اچانک موڈلز کا پتہ لگاتا ہے۔ کمپن سینسر ماڈیول ماڈیول کے لحاظ سے ڈیجیٹل آؤٹ پٹ ہائی / لو منطق دیتا ہے۔ ہمارے معاملے میں ، ہم نے ایک فعال ہائی ہائی منطق کمپن سینسر ماڈیول استعمال کیا ہے۔ اس کا مطلب یہ ہے کہ جب بھی کمپن سینسر کمپن کا پتہ لگائے گا تو یہ مائکرو قابو پانے والے کو ہائی منطق دے گا۔
سرکٹ وضاحت
اس وہیکل ایکسیڈنٹ الرٹ سسٹم پروجیکٹ کے سرکٹ کنکشن آسان ہیں۔ یہاں GPS ماڈیول کا Tx پن براہ راست MSP430 لانچ پیڈ (ہارڈ ویئر سیریل) کے ڈیجیٹل پن نمبر P1_1 سے منسلک ہے اور GPS ماڈیول کو طاقت دینے کے لئے 5v استعمال ہوتا ہے۔ یہاں سافٹ ویئر سیریل لائبریری کا استعمال کرکے ، ہم نے P_6 اور P1_7 پن پر سیریل مواصلات کی اجازت دی ہے ، اور انہیں بالترتیب Rx اور Tx بنایا ہے اور GSM ماڈیول سے منسلک کیا ہے ۔ جی ایس ایم ماڈیول کو طاقتور بنانے کے لئے 12 وولٹ سپلائی استعمال کی جاتی ہے۔ کمپن سینسر P1_3 پر منسلک ہے. حادثے کی نشاندہی کرنے کے لئے ایل ای ڈی بھی استعمال کیا جاتا ہے۔ باقی کنکشن سرکٹ آریگرام میں دکھائے گئے ہیں۔
پروگرامنگ وضاحت
اس پروجیکٹ کے لئے پروگرام کرنا GPS کے حصے کے سوا آسان ہے۔ پروجیکٹ کے اختتام پر مکمل کوڈ دیا گیا ہے۔ MSP430 میں کوڈ لکھنے یا مرتب کرنے کے لئے ہم نے انرجیہ آئی ڈی ای کا استعمال کیا ہے جو کہ اردوینو مطابقت رکھتا ہے۔ اس انرجیہ آئی ڈی ای میں زیادہ تر آرڈینو آئ ڈی ای فنکشن کا استعمال کیا جاسکتا ہے۔
لہذا سب سے پہلے ہم نے مطلوبہ لائبریریوں اور پن اور متغیرات کا اعلان کیا ہے۔
# شامل کریں
دی گئی تقریب کمپن سینسر سگنل پڑھنے کے لئے استعمال ہوتی ہے ۔ یہ فنکشن چھوٹی یا غلط کمپنوں کو بھی فلٹر کرے گا۔
# وضاحت count_max 25 حروف SensorRead (INT پن) // پڑھیں SW debounce ساتھ { چار count_low = 0، count_high = 0؛ do { تاخیر (1)؛ اگر ( ڈیجیٹل ریڈ (پن) == ہائی) { گنتی_ زیادہ ++؛ گنتی_لو = 0؛ } دوسری { گنتی_ہائ = 0؛ گنتی_لوہ ++؛ ؛} جبکہ (کاؤنٹی_لو <کاؤنٹ_میکس && گنتی_ زیادہ <کاؤنٹ_ میکس)؛ اگر (count_low> = count_max) لوٹ لو؛ دوسری صورت میں واپس }
ذیل میں فنکشن کمپن کا پتہ لگاتا ہے اور GPS کوآرڈینیٹ حاصل کرنے کے لئے gpsEvent () فنکشن کو کال کرتا ہے اور آخر میں SMS بھیجنے کے لئے بھیجیں () فنکشن کو کال کریں ۔
باطل لوپ () { if ( سینسر ریڈ (کمپن سینسر) == ہائی) { ڈیجیٹل رائٹ (قیادت میں ، ہائی)؛ gpsEvent ()؛ بھیجیں()؛ ڈیجیٹل رائٹ (ایل ای ڈی ، کم)؛ تاخیر (2000)؛ } }
دی گئی فنکشن جی پی ایس ماڈیول سے جی پی ایس کے تار حاصل کرنے کے لئے ذمہ دار ہے ، ان سے کوآرڈینیٹ نکالیں اور انہیں ڈگری ڈیشمال شکل میں تبدیل کریں۔
باطل gpsEvent () { چار gpsString؛ چار ٹیسٹ = "RMC"؛ i = 0؛ جبکہ (1) { جبکہ (سیریل۔ دستیاب ()) // GPS سے سیریل غیرمتعلق ڈیٹا { چار inChar = (چار) سیریل.ریڈ ()؛ gpsString = inChar؛ // GPS سے عارضی سٹرنگ i ++ میں غیرمعمولی ڈیٹا کو اسٹور کریں ۔ if (i <4) { if (gpsString! = test) // دائیں تار کے ل for چیک کریں i = 0؛ }
انٹ ڈگری = 0؛ ڈگری = gpsString-48؛ ڈگری * = 10؛ ڈگری + = gpsString-48؛ int minut_int = 0؛ minut_int = gpsString-48؛ منٹ_نٹ * = 10؛ minut_int + = gpsString-48؛ int minut_dec = 0؛ minut_dec + = (gpsString-48) * 10000؛ minut_dec + = (gpsString-48) * 1000؛ minut_dec + = (gpsString-48) * 100؛ minut_dec + = (gpsString-48) * 10؛ minut_dec + = (gpsString-48)؛ فلوٹ منٹ = ((فلوٹ) منٹ_ینٹ + ((فلوٹ) منٹ_ڈیک / 100000.0)) / 60.0؛ عرض البلد = ((فلوٹ) ڈگری + منٹ)؛
اور آخر میں ، بھیجیں () فنکشن کا استعمال صارف نمبر پر ایس ایم ایس بھیجنے کے لئے کیا جاتا ہے جو کوڈ کے اس حصے میں داخل ہوتا ہے۔
باطل بھیجیں () { GSM.print ("AT + CMGS =")؛ GSM.print ('' ')؛ GSM.print ("961 **** 059")؛ // اپنا موبائل نمبر GSM.println (' '') درج کریں ؛ تاخیر (500)؛ // GSM.print ("عرض البلد:")؛ // GSM.println (عرض بلد)؛ GSM.println ("ایکسیڈنٹ ہوا")؛ تاخیر (500)؛ // GSM.print ("طول البلد:")؛ // GSM.println (عرض البلد)؛ GSM.println ("مقام دیکھنے کے لئے لنک پر کلک کریں")؛ GSM.print ("http://maps.google.com/maps؟&z=15&mrt=yp&t=k&q=")؛ GSM.print (عرض بلد ، 6)؛ GSM.print ("+")؛ GSM.print (عرض البلد ، 6)؛ جی ایس ایم ڈرائٹ (26)؛ تاخیر (4000)؛ }
مکمل کوڈ اور ڈیمو ویڈیو ذیل میں دیا گیا ہے ، آپ کوڈ میں موجود تمام افعال کو چیک کرسکتے ہیں۔