موقعیت یاب GPS پروژه های آردوینو

پروژه طراحی و ساخت دیتالاگر GPS توسط ماژول NEO6M و برد آردوینو

create-data-logger-with-gps-neo6m-and-arduino-digispark
نوشته شده توسط معین صابری

سیستم های دیتالاگر یکی از مهم ترین و پرکاربردترین ابزارها در پروژه های مختلف به شمار می روند. یکی از انواع پرکاربرد دیتالاگرها، دیتالاگر GPS هستند. دیتالاگرهای GPS ابزاری جهت دریافت و ثبت داده های جغرافیایی در حافظه های جانبی، نظیر کارت SD ها به شمار می روند. در این پروژه قصد داریم تا به کمک برد آردوینو UNO و ماژول GPS مدل NEO6M، یک دیتا لاگر GPS بسازیم و داده ها را به کمک ماژول کارت SD، درون حافظه SD(رم) ذخیره نماییم. در ادامه این آموزش، با مرجع تخصصی رزبری پای و آردوینو به زبان فارسی، دیجی اسپارک، همراه باشید.

 


ماژول GPS از نوع NEO6M


ماژول های GPS یکی از مهم ترین و پرکاربردترین ابزارها جهت تعیین موقعیت دقیق به شمار می روند. به کمک ماژول های GPS می توانیم اطلاعات مکانی نظیر طول، عرض و ارتفاع را بدست آوریم. همچنین می توان از سرعت متحرک نیز مطلع شویم. فرستنده های GPS که به صورت ماهواره ها در مدار زمین در حال گردش هستند، نخستین بار توسط ارتش ایالات متحده به فضا فرستاده شدند. این فناوری که در ابتدا کاربردی نظامی داشت، هم اکنون برای مصارف تجاری، تحقیقاتی و… مورد استفاده قرار می گیرد.

ماژول gps neo6m - دیجی اسپارک

 

جهت دریافت موقعیت از ماهواره ها، نیازمند ماژول های گیرنده GP0S هستیم. یکی از این ماژول ها، ماژول های UBLOX هستند. این ماژول ها یکی از پایدارترین و پرکاربردترین گیرنده های GPS بوده که به سادگی با بردهای آردوینو، ESP و سایر میکروکنترلرها راه اندازی می گردد. به کمک این ماژول می توانیم موقعیت دقیق خود را همراه با اطلاعات جانبی نظیر ارتفاع، سرعت، ساعت و تاریخ و… بدست آوریم. در این پروژه از این ماژول جهت دریافت موقعیت، ارتفاع و سرعت استفاده می کنیم. به کمک این ماژول موقعیت مکانی دقیق را بدست آورده و در کارت حافظه ذخیره می کنیم.

 


برد آردوینو UNO


سیستم دیتالاگر جهت دریافت داده های سنسور، پردازش و ذخیره آن، نیاز به یک برد کنترلی/پردازشی دارد. برد آردوینو UNO، یک برد فوق العاده کاربردی در نمونه سازی اولیه و حتی محصول نهایی است. به کمک این برد به سادگی می توانید سنسورها، نمایشگرها و ماژول های مختلفی را به آن متصل کنید. این برد راه اندازی و کار با میکروکنترلر را بسیار ساده می کند. کافیست به کمک یک کابل آن را به رایانه متصل کنید. سپس به سادگی و بدون نیاز به هیچ پروگرامر جانبی، می توانید برنامه را بر روی آن منتقل کنید.

پروژه دیتالاگر GPS با آردوینو ماژول GPS - دیجی اسپارک

 

بر روی برد آردوینو UNO تمام ملزومات لازم جهت راه اندازی برد تعبیه شده است. از جمله این ملزومات می توان به کریستال و خازن های کاهش نوسان ولتاژ اشاره نمود. همچنین بر روی این برد یک رگولاتور ۳٫۳ ولت جهت تغذیه ماژول های مختلف قرار گرفته است. به طور کلی استفاده از برد آردوینو در پروژه ها، سبب تسریع و تسهیل روند توسعه خواهد شد. در این پروژه داده های GPS از ماژول NEO6M دریافت کرده و در کارت SD ذخیره خواهد شد.

 


ماژول کارت SD


ماژول کارت SD، یک ابزار فوق العاده کاربردی جهت راه اندازی و کار با کارت های حافظه SD است. به کمک این ماژول می توانیم کارت حافظه را به برد آردوینو متصل کنیم.  به لطف توسعه کتابخانه جامع و کاربردی، قادر به ذخیره داده بر روی کارت SD وخواندن داده های از پیش ذخیره شده بر روی حافظه، هستیم. پروتکل ارتباطی این ماژول ازنوع  SPI بوده و با بردهای آردوینو و ESP، سازگاری کامل دارد. پیش از این در آموزشی، به صورت جامع به راه اندازی و کار با این ماژول پرداخته ایم. این آموزش را با کلیک بر روی این لینک، می توانید دنبال کنید.

ماژول کارت خوان SD Card در دیتالاگر GPS - دیجی اسپارک

 

در این آموزش به کمک ماژول کارت SD، داده های GPS شامل طول، عرض، ارتفاع و سرعت را به صورت یک فایل اکسل، در حافظه SD ذخیره می کنیم. بدین صورت می توانیم فایل را در سیستم عامل ویندوز باز کرده و به کمک قابلیت ترسیم نمودار اکسل، داده ها را با انواع مختلفی از نمودارها تحلیل و بررسی کنیم.

 


نصب کتابخانه TinyGps++


جهت راه اندازی و کار با ماژول های GPS، کتابخانه Tiny Gps++ توسعه یافته که راه اندازی و دریافت داده از ماژول را بسیار ساده می نماید. پیشتر در آموزشی به طور کامل به تحلیل و بررسی این کتابخانه پرداختیم. با کلیک بر روی این لینک می توانید این آموزش را مطالعه کنید. اولین قدم در استفاده از یک کتابخانه، نصب آن است. برای نصب یک کتابخانه در آردوینو، می توان به صورت دستی و خودکار(از مخازن آردوینو) اقدام نمود. ما در اینجا از روش خودکار و با استفاده از نرم افزار آردوینو، به نصب کتابخانه ++TnyGps می پردازیم. برای این مورد، ابتدا در محیط نرم افزار آردوینو، بر روی گزینه Tools و سپس Manage Libraries مطابق فلش های تصویر کلیک کنید.

نصب کتابخانه TinyGps++ - دیجی اسپارک

 

پس از کلیک بر روی گزینه Manage Libraries، با تصویر زیر رو به رو می شوید. این منو کتابخانه های در دسترس را به شما نمایش می دهد.

نصب کتابخانه TinyGps++ پروژه دیتالاگر - دیجی اسپارک

 

در تصویر فوق کادر جستجوی کتابخانه ها با فلش قرمز رنگ مشخص شده است. در این کادر عبارت ++TnyGps را تایپ کنید. در مرحله بعدی، با تصویر زیر رو به رو خواهید شد. با کلیک بر روی گزینه install این کتابخانه را می توانید نصب کنید.

مراحل نصب کتابخانه TinyGps++ - دیجی اسپارک

 


شماتیک و اتصالات پروژه


در این قسمت به بررسی شماتیک و اتصالات پروژه می پردازیم. ابتدا تصویر زیر را که شمای کلی از اتصالات نمایش می دهد، مشاهده نمایید.

شماتیک اتصالات دیتالاگر GPS آردوینو - دیجی اسپارک

 

مطابق تصویر فوق، اتصالات را به شکل زیر اجرا می کنیم.

 


سیم کشی و اتصالات ماژول SD کارت


  1. اتصال پین ۱۱ آردوینو به پایه MOSI
  2. اتصال پین ۱۲ آردوینو به پایه MISO
  3. اتصال پین ۱۳ آردوینو به پایه SCK
  4. اتصال پین ۴ آردوینو به پایه CS
  5. اتصال پایه VCC ماژول به پایه ۵ ولت آردوینو
  6. اتصال پایه GND ماژول به پایه GND آردوینو

 


سیم کشی و اتصالات ماژول GPS


  • اتصال پایه VCC ماژول به پایه ۵ ولت آردوینو
  • اتصال پایه GND ماژول به پایه GND آردوینو
  • اتصال پایه TX ماژول به پایه ۸ آردوینو

 


کدهای پروژه


پس از برقراری اتصالات بین قطعات مختلف، نوبت به آپلود کدهای پروژه بر روی برد آردوینو می رسد. کدهای زیر را با انتخاب برد آردوینو در نرم افزار، روی آن آپلود کنید.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 


اجرای پروژه


در این قسمت به اجرای پروژه دیتالاگر GPS می پردازیم. پس از آپلود کدها، می بایست دستگاه در فضای آزاد قرار گرفته تا به ماهواره فیکس کند. در ابتدا اجرای این برنامه را مطابق تصویر زیر می توانید در سریال مانیتور مشاهده کنید.

سریال مانیتور آردوینو در پروژه دیتالاگر - دیجی اسپارک

 

در ادامه اجرای پروژه، داده ها بر روی کارت SD ذخیره می شوند. با خارج کردن کارت و اتصال آن به رایانه، داده ها در فرمت فایل اکسل مطابق تصویر زیر ذخیره می گردند. در فایل داده ها، ستون های داده ها به ترتیب از چپ به راست بیانگر طول، عرض، سرعت و ارتفاع هستند. توجه داشته باشید که اتصال ماژول گیرنده GPS به ماهواره زمانبر بوده و نیاز به آنتن مناسب برای فیکس در مکان های مسقف و دید کور دارید. در کنار این، جهت فیکس سریع می بایست این ماژول در فضای آزاد و در حال حرکت تست گرفته شود. زمانیکه فیکس صورت گیرد، چراغ قرمز رنگ ماژول GPS شروع به چشمک زدن خواهد نمود. در نهایت می توانید با قرار دادن کارت حافظه در رایانه، خروجی ها را مشاهده نمایید.

اطلاعات دیتالاگر GPS آردوینو - دیجی اسپارک

 

توجه: حین تست و اجرا ماژول به ماهواره فیکس نکرده و به همین دلیل داده ها در فایل به صورت صفر ذخیره شده اند. به محض فیکس، داده های معتبر در فایل قرار خواهند گرفت.

 


تحلیل کدهای پروژه


از آنجاییکه در کدهای برنامه به صورت خط به خط توضیح(کامنت) درج شده، در این قسمت به تحلیل و بررسی کدهای برنامه به صورت مختصر می پردازیم. در این برنامه تابع زیر هر ۱۰۰ میلی ثانیه یکبار داده های قرار گرفته در بافر که توسط GPS ارسال شده را تجزیه و تحلیل و دیکود می کند.

smart_delay

در ادامه به کمک تابع زیر، داده های GPS را شامل طول، عرض، سرعت و ارتفاع را دریافت کرده و به صورت فایل اکسل ذخیره می کنیم.

read_data

در تابع فوق، داده ها به کمک توابع کتابخانه GPS دریافت شده و سپس به کمک توابع کتابخانه SD، ذخیره می گردند. در هنگام ذخیره سازی، داده ها با فرمت .CSV که فرمت فایل اکسل است، ذخیره خواهند گردید.

 


لوازم مورد نیاز


برد آردوینو UNO

ماژول کارت SD

ماژول GPS مدل NEO6M

 


جمع بندی


در این آموزش به طراحی و پیاده سازی یک دستگاه دیتالاگر GPS پرداختیم. به کمک این دستگاه داده های دریافتی از ماهواره ها نظیر طول و عرض جغرافیایی، سرعت و ارتفاع دریافت شده و در کارت SD ذخیره خواهند شد. سپس این داده ها را می توانیم در رایانه به صورت فایل اکسلی مشاهده کرده و به تجزیه و تحلیل آن بپردازیم. در کنار این، می توانیم از اطلاعات دریافت شده، مسیر سه بعدی حرکت متحرک را ترسیم نماییم.

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه