آموزش راه اندازی ماژول GPS-UBLEX
به نام خدا و با سلام خدمت دوستان
تو این مطلب میخوام ماژول gps رو اموزش بدم و اینکه اطلاعات مختصات و ساعت و … رو چطور بیرون بکشیم!!!
تو این مطلب من از ماژول gps زیر استفاده کردم
همونطور که تو شکل مشخصه این ماژول ۴ تا پایه vcc-tx-rx-gnd داره!!!
تغذیه این ماژول ۳ تا ۵ ولت است اما تغذیه چیپ ۳٫۳ ولت است و اطلاعات رو به صورت TTL و از طریق پروتکل یوزارت با بادریت پیش فرض ۹۶۰۰ میفرسته!!
این ماژول وقتی تغذیش متصل شد سعی میکنه که به ماهواره متصل بشه.
وقتی که به ماهواره متصل شد یه led رو ماژول قرار داره که با فرکانس ۱ هرتز چشمک میزنه و اطلاعات رو با فرکانس ۱ هرتز از طریق پین tx میفرسته…!!!!
حالا شما میتونید از یه مبدل usb به سریال و یه نرم افزار serial استفاده کنید که قبلا آموزشش رو برای ماژول وای فای گذاشتم میتونید تو اینجا ببینید!!!!
شکل زیر اطلاعات خروجی ماژول gps رو در حالتی که هنوز به ماهواره متصل نشده هستش…
1 2 3 4 5 |
$GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGLL,,,,,,V,N*64 |
این اطلاعات به درد ما نمیخورن !!!
حالا وقتی ماژول به ماهواره متصل شد و led اون به صورت چشمک زن دراومد،ماژول اطلاعات رو به صورت زیر میفرسته…
1 2 3 4 5 6 7 8 |
$GPRMC,124603.00,A,0025.02186,N,00005.82472,E,0.704,,271116,,,A*7E $GPVTG,,T,,M,0.704,N,1.304,K,A*26 $GPGGA,124603.00,0025.02186,N,00005.82472,E,1,04,5.10,86.8,M,-12.8,M,,*43 $GPGSA,A,3,11,16,26,01,,,,,,,,,7.16,5.10,5.03*02 $GPGSV,3,1,09,01,35,204,27,03,81,349,17,06,06,325,,07,02,215,*73 $GPGSV,3,2,09,11,12,200,24,14,15,068,,16,18,131,24,23,54,294,*7D $GPGSV,3,3,09,26,27,101,29*4A $GPGLL,0025.02186,N,00005.82472,E,124603.00,A,A*66 |
در اطلاعات بالا خط اول که با GPRMC$ شروع شده برای ما قابل توجه است.
از کاراکتر A و V هم میتوان فهمید که ماژول به ماهواره متصل شده است یا خیر.
تصویر زیر رو از دیتا شیت ماژول قرار میدم تا فرمت اطلاعات به راحتی مشخص بشه:
طبق دیتاشیت ماژول این خط اطلاعات به ترتیب شامل
- ساعت
- وضعیت
- طول جغرافیایی (lat)(N)
- عرض جفرافیایی(lng)(E)
- سرعت(speed over ground)
- زاویه (course over ground)
- تاریخ(میلادی)
- یه سری اطلاعات هم درمورد میدان مغناطیسی میده!
- و در اخر این خط هم کاراکترهای line feed و return رو برمیگردونه.
ماژول Ublox Neo6M پس از روشن شدن، دادههای خود در غالب فرمتی تحت عنوان (NMEA (National Marine Electronic Association ارسال میکند که به صورت زیر است:
- RMC
- GLL
- GSA
- GSV
- VTG
چنانچه حافظه میکروتون کافی نیست و نمیخواهید تمامی دیتای ماژول رو دریافت کنید و فقط قصد دارید خط GPRMC$ را توسط میکرو دریافت کنید کامند های زیر را به ماژول ارسال کنید تا مقادیر اضافی خاموش شوند:
1 2 3 4 5 6 7 8 9 |
$PUBX,40,GLL,0,0,0,0*5C\r\n $PUBX,40,GSA,0,0,0,0*4E\r\n $PUBX,40,GSV,0,0,0,0*59\r\n $PUBX,40,VTG,0,0,0,0*5E\r\n $PUBX,40,GGA,0,0,0,0*5A\r\n |
با ارسال دستورت فوق به ماژول gps، هر یک از بستههای غیر از بسته RMC فیلتر شده و دیگر ارسال نمیگردند. بدین ترتیب، میکروکنترلر تنها فیلدهای اطلاعاتی حاوی بسته RMC را دریافت خواهد نمود و این امر سبب سبک شدن بافر سریال شده و فرآیند جداسازی اطلاعات دریافتی از ماژول، بسیار کوتاه خواهد شد.
نکته :همونطور که میدونید و بارها و بارها موقع نصب ویندوز و تنضیمات ساعت عبارت ۳٫۳۰+ رو دید،این همون GMT هستش یعنی ساعتی که ماژول gps بهتون میده ۳ ساعت و ۳۰ دقیقه از ساعتتون کمتره که شما باید پس از دریافت تو برنامتون این نکته رو لحاظ کنید…
مورد بعدی در مورد مقادیر لوکیشن بسیار مهم است و باید رعایت کنید به صورت زیر است:
قالب دیتا خروجی ماژول GPS از نوع DDMM.MMMMMM میباشد که برای نمایش آن در گوگل مپ:
۱-روش اول: باید دیتا را به فرم زیر وارد کنید:
۳۶۲۱٫۷۳۷۰۷۶,۵۹۲۹٫۲۲۹۸۲۵ –>>> 36°۲۱٫۷۳۷۰۷۶’N,59°۲۹٫۲۲۹۸۲۵’E
یا
۲-روش دوم: باید دیتا را از قالب DDMM.MMMMMM به قالب DD تبدیل کنید و سپس وارد گوگل مپ کنید.
روش تبدیل قالب دیتا از DDMM.MMMMMM به DD:
DD = DD + (MM.MMMMMM/60);
DD = 36 + (21.737076/60) = 36.3622846
DD = 59 + (29.229825/60) = 59.48716375
————————>>>36.3622846,59.48716375
و سرعتی که ماژول میده speed over ground هست و واحدش Knot و با km/h فرق میکنه که واحد های رند به صورت زیر است:
۱ knots to km/h = 1.852 km/h
۵ knots to km/h = 9.26 km/h
۱۰ knots to km/h = 18.52 km/h
۱۵ knots to km/h = 27.78 km/h
۲۰ knots to km/h = 37.04 km/h
۲۵ knots to km/h = 46.3 km/h
۳۰ knots to km/h = 55.56 km/h
۴۰ knots to km/h = 74.08 km/h
۵۰ knots to km/h = 92.6 km/h
و برای تبدیل واحد باید هر عدد سرعت Knot رو در ۱٫۸۵۲ ضرب کنید تا عدد سرعت بر حسب km/h بدست بیاد.
این ماژول رو هم میشه به گوشیتون با استفاده از کابل otg و مبدل usb به سریال متصل کنید که خوده شرکت ublex برنامشو درست کرده!!!!
همچنین برنامش برای کامپیوتر هم موجوده که امکانات زیادی داره!!!
مطالب مرتبط : پروژه ارتباط ماژول gps با میکروکنترلر ARM_LPC1768 |
موفق باشید.
void loop() { if (gps.available()) { char inChar = (char)gps.read(); if (inChar == ‘,’) { C2++; } inputString += inChar; if (inputString == “$GPRMC”) { C = 1; C2 = 0; } if (C == 1) { if (C2 == 3) { if (inChar != 44){ locx += inChar; } } if (C2 == 4) { if (inChar != 44){ locx += inChar; } } if (C2 == 5) { if (inChar != 44){ locy += inChar; } } if (C2 == 6) { if (inChar != 44){ locy += inChar; } } } if (inChar == ‘\n’) { if… Read more »
این اومده دیتای دریافتی که از gps اومده رو دونه دونه کاراکتر هاشو تفکیک کرده و استفاده کرده
سلام
برای من زمانی که ماژول رو راه اندازی می کنم ساعت۴:۳۰ نشوه میده و زمانی که به ماهوداره وصل میشه ساعت نشون داده شده یک ساعت جلوتر هست
به نظر شما اشکال از کجاست؟؟؟
سلام بایدجی ام تی رو در نظر بگیری و اینکه ساعتتو بکشی عقب چون اول مهر ساعت یع ساعت اومد عقب
سلام.خسته نباشید.ماژول رو مستقیم میشه به میکرو وصل کرد.؟اخه اطلاعات روی نمایشگرم درهم ریختست.با تشکر
سلام بله مستقیم میشه به میکرو متصل کرد و از طریق پروتکل یوزارت این کار انجام میشه
اطلاعات تا وقتی ماژول ماهواره رو پیدا نکنه درهم ریختست باید این قضیه رو هندل کنید
میتونید از این پروژه هم استفاده کنید
برای میکروی avr این پروژه موجوده که میتونید به تلگرامم پیام بدید برای دریافت و توضیحات بیشتر
موفق باشید
مهندس جان کانکت میشه .به پی سی وصل کردم درست جواب داده.خروجیش درسته.ولی رو ال سی دی درهم برهمه.اگه راهنمایی بفرمایید ممنون میشم.ایدی تلگرام رو اگه لطف کنید ممنون میشم
احتمالا حافظه بافر ال سی دیتو کم گرفتی
با سلام من میخواستم از gps شرکت dji که مخصوص پهپاد هاست و با dji naza v2 ارائه میشه برای میکرو ارم یا ای وی ار استفاده کنم.اطلاعاتی در مورد اون دارید که ببینم با چه پروتکلی میتونم ارتباط برقرار کنم؟
سلا مهندس جان من رزبری ۳ و ماژول GPS UBLOX NEO-M8N دارم و رو رزبری اندروید ۷٫۱ نصب هست نرم افزار اندروید me.map هم که رایگان هست نصب دارم موقع باز کردن آن علامت لوکیشین بالای صفحه ام می اید ولی لوکیشین رو پیدا نمی کند من نتوانستم بفهمم دفالت سخت افزار جی پی اس رزبری چیه و کجا رو می شناسه ولی ماژول ما رو نمیشناسه این ماژول هم یو اس بی و هم سریال از طریق پین های gpio رزبری وصل کردم ولی هنوز بدون نیتجه ماندم ممنون اگر راهنمایی نمایید حسن
باید درایور ماژول gps رو نصب کنید و اون رو از طریق usb به رسبری متصل کنید، در غیر اینصورت میدونید از واحد یوزارت رسبری برای ارتباط با ماژول gps استفاده کنید
راستی مطلبی هم اضافه نمایم دانلود نرم افزار از سایت ماژول برایم امکانپذیر نشد چون تلفن ایران رو نداره ممنون
سلام، اگر هر مشکلی بود ، من برخلاف سایت های دیگه تمام راهای ارتباطی رو گذاشتم،مثلا میتونید در تلگرام پیام بدین و در کمتر از ۱۲ ساعت مشکل شما رو حل میکنم
سلام ، نتونستم نرم افزار اندروید رو دانلود کنم میشه فایل نصب نرم افزار رو برام ایمیل کنید ممنون
سلام، بله تلگرام pm بدین براتون میفرستم
سلام بابت اموزش عالی
مشکل من در مورد فیلتر کردن هست دستورمیفرستم ولی هیج واکنشی نداره ماژول .باز همونارو نشون میده .ممنون میشم راهنمایی کنید بنده رو
۰۹۱۹۹۵۳۱۱۵۸ اشرفی هستم $PUBX,40,GSV,0,0,0,0*59
سلام، خواهش میکنم، اگر ارتباطاتتون صحیح باشه به محض ارسال کامند ها جهت فیلتر کردن، روی ماژول اعمال میشود
سلام ممنون از اموزش های خوبتون. برای ارسال دستور
$PUBX,40,GLL,0,0,0,0*5C\r\n
برای حذف مقادیر اضافی چطور باید عمل کنیم؟
myserial.write(“$PUBX,40,GLL,0,0,0,0*5C\r\n);
جواب نمی دهد.
سلام و درود هموطن عزیز. بسیار بسیار سپاسگزارم از اطلاعات خوبی که در وبسایتتون قرار دادین . واقعا بارها و بارها به درد من خورده . دستت طلا مهندس
قربان شما، موفق باشید 🌷🌷🌷