آموزش راه اندازی ماژول مکان یاب GPS NEO-6M با آردوینو

فهرست مطالب

ویژگی های ماژول مکان یاب GPS NEO-6M

ماژول موقعیت یاب GPS GY-NEO-6M، یک ماژول پیشرفته GPS است که با پشتیبانی از آنتن اکتیو، دارای پروتکل ارتباطی UART می‌باشد که با استفاده از میکروکنترلر می‌توانید آن را راه اندازی کنید. این ماژول دارای باطری قابل شارژ بوده و همچنین می توان با استفاده از مبدل USB به TTL به صورت مستقیم آن را به کامپیوتر وصل کرد.
از ویژگی های این ماژول سرعت بالای دریافت اطلاعات و مکان یابی با دقت بسیار بالا و راه اندازی سریع می‌باشد. ماژول علاوه بر پشتیبانی از BeiDou, Galileo, GLONASS, GPS / QZSS، دارای حافظه داخلی به منظور ذخیره تنظیمات می باشد. این ماژول با آردوینو سازگار بوده و قابل استفاده در هر پروژه ای می‌باشد.

توجه

LED بر روی ماژول در زمان متصل شدن به ماهواره های موقعیت یاب شروع به چشمک زدن می کند.

جهت دریافت دیتاشیت ماژول مکان یاب NEO-6M اینجا کلیک کنید.

معرفی پایه ها (Pinout) ماژول مکان یاب NEO-6M

ماژول NEO-6M دارای 4 پایه به شرح زیر است:

  • VIN: تغذیه ماژول – 5 ولت
  • GND: زمین
  • RX: دریافت اطلاعات از طریق پروتکل سریال
  • TX: ارسال اطلاعات از طریق پروتکل سریال

پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

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

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول مکان یاب NEO-6M × 1
سیم جامپر × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی ماژول GPS NEO-6M با آردوینو

گام اول: سیم بندی

مطابق مدار زیر، ماژول را به آردوینو وصل کنید.

گام دوم: کد

ابتدا کتابخانه زیر را  بر آردوینوی خود نصب کنید. 

https://github.com/mikalhart/TinyGPSPlus

توجه

اگر نیاز به راهنمایی بیشتر برای نصب کتابخانه بر روی آردوینو دارید، می توانید به آموزش نصب کتابخانه بر آردوینو مراجعه کنید.

کد زیر را روی برد آردوینوی خود آپلود کنید.

   /*   
modified on Sep 27, 2020
Modified by MohammedDamirchi from https://github.com/mikalhart/TinyGPSPlus
Home
*/ #include <TinyGPS++.h> #include <SoftwareSerial.h> /* This sample sketch demonstrates the normal use of a TinyGPS++ (TinyGPSPlus) object. It requires the use of SoftwareSerial, and assumes that you have a 9600-baud serial GPS device hooked up on pins 4(rx) and 3(tx). */ static const int RXPin = 3, TXPin = 4; static const uint32_t GPSBaud = 9600; // The TinyGPS++ object TinyGPSPlus gps; // The serial connection to the GPS device SoftwareSerial ss(RXPin, TXPin); void setup() { Serial.begin(115200); ss.begin(GPSBaud); Serial.println(F("DeviceExample.ino")); Serial.println(F("A simple demonstration of TinyGPS++ with an attached GPS module")); Serial.print(F("Testing TinyGPS++ library v. ")); Serial.println(TinyGPSPlus::libraryVersion()); Serial.println(F("by Mikal Hart")); Serial.println(); } void loop() { // This sketch displays information every time a new sentence is correctly encoded. while (ss.available() > 0) if (gps.encode(ss.read())) displayInfo(); if (millis() > 5000 && gps.charsProcessed() < 10) { Serial.println(F("No GPS detected: check wiring.")); while(true); } } void displayInfo() { Serial.print(F("Location: ")); if (gps.location.isValid()) { Serial.print(gps.location.lat(), 6); Serial.print(F(",")); Serial.print(gps.location.lng(), 6); } else { Serial.print(F("INVALID")); } Serial.print(F(" Date/Time: ")); if (gps.date.isValid()) { Serial.print(gps.date.month()); Serial.print(F("/")); Serial.print(gps.date.day()); Serial.print(F("/")); Serial.print(gps.date.year()); } else { Serial.print(F("INVALID")); } Serial.print(F(" ")); if (gps.time.isValid()) { if (gps.time.hour() < 10) Serial.print(F("0")); Serial.print(gps.time.hour()); Serial.print(F(":")); if (gps.time.minute() < 10) Serial.print(F("0")); Serial.print(gps.time.minute()); Serial.print(F(":")); if (gps.time.second() < 10) Serial.print(F("0")); Serial.print(gps.time.second()); Serial.print(F(".")); if (gps.time.centisecond() < 10) Serial.print(F("0")); Serial.print(gps.time.centisecond()); } else { Serial.print(F("INVALID")); } Serial.println(); }

پس از آپلود کد سریال مانیتور دستگاه خود را باز کنید.

آموزش های مشابه

Comments (6)

  • آرمان Reply

    با سلام
    بنده طبق توضیح شما RX را به پین ۴ و TX را به پین ۳ از آردینو متصل کردم ولی وارد شرط لاین 42 می شد و در نتیجه No GPS detected: check wiring. چاپ می شد. پس از تعویض جای RX و TX مشکل حل شد.
    در صورت نیاز مقاله را اصلاح نمایید.

    دسامبر 29, 2020 at 12:50 ق.ظ
    • مهران ملکی Reply

      سلام. ممنون از نظرتون.
      بله درست می فرمایید. خط 14 کد اصلاح شد.

      دسامبر 29, 2020 at 11:37 ق.ظ
  • mohammad Reply

    من وقتی کد را اجرا میکنم این خروجی را میگیرم چرا؟
    Location: INVALID Date/Time: 0/0/2000 00:00:00.00
    مشکل کجاست؟

    دسامبر 17, 2021 at 7:45 ب.ظ
    • مهران ملکی Reply

      سلام
      در ابتدا حتما اتصالات رو چک کنید و مطمئن بشید که همه قطعات به درستی به هم متصل شدن، مخصوصا آنتن. همچنین دقت کنید که این ماژول برای اتصال به شبکه لازمه که در فضای باز قرار داشته باشه و همچنین لازمه که بعد از روشن کردن ماژول، حدود 5 تا 15 دقیقه برای اتصال اون به شبکه صبر کنید.

      دسامبر 18, 2021 at 9:27 ق.ظ
  • بیژن Reply

    آیا می شود تنها با همین ماژول یک طول و عرض جغرافیایی خاص را تنظیم کرد که در صورت عبور از آن یک پایه آردوینو(مثلا بازر) فعال شود؟

    ژوئن 24, 2023 at 9:07 ق.ظ
    • علی Reply

      اره ولی برنامه نویسی باید بلد باشی

      اکتبر 13, 2023 at 8:36 ق.ظ

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

نشانی ایمیل شما منتشر نخواهد شد.