ویژگی های ماژول مکان یاب GPS NEO-7M
ماژول موقعیت یاب GPS GY-NEO-7M، یک ماژول پیشرفته GPS است که با پشتیبانی از آنتن اکتیو، دارای پروتکل ارتباطی UART میباشد که با استفاده از میکروکنترلر میتوانید آن را راه اندازی کنید. این ماژول دارای باطری قابل شارژ بوده و همچنین می توان با استفاده از مبدل USB به TTL به صورت مستقیم آن را به کامپیوتر وصل کرد.
از ویژگی های این ماژول سرعت بالای دریافت اطلاعات و مکان یابی با دقت بسیار بالا و راه اندازی سریع میباشد. ماژول علاوه بر پشتیبانی از BeiDou, Galileo, GLONASS, GPS / QZSS، دارای حافظه داخلی به منظور ذخیره تنظیمات می باشد. این ماژول با آردوینو سازگار بوده و قابل استفاده در هر پروژه ای میباشد.
توجه
جهت دریافت دیتاشیت ماژول مکان یاب NEO-7M اینجا کلیک کنید.
GPS NEO-7M Module Datasheet
معرفی پایه ها (Pinout) ماژول مکان یاب GPS NEO-7M
ماژول NEO-7M دارای 4 پایه به شرح زیر است:
- VIN: تغذیه ماژول – 5 ولت
- GND: زمین
- RX: دریافت اطلاعات از طریق پروتکل سریال
- TX: ارسال اطلاعات از طریق پروتکل سریال
پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول مکان یاب GPS NEO-7M با آردوینو
گام اول: سیم بندی
مطابق مدار زیر، ماژول را به آردوینو وصل کنید.
گام دوم: کد
ابتدا کتابخانه زیر را بر آردوینوی خود نصب کنید.
توجه
اگر نیاز به راهنمایی بیشتر برای نصب کتابخانه بر روی آردوینو دارید، می توانید به آموزش نصب کتابخانه بر آردوینو مراجعه کنید.
کد زیر را روی برد آردوینوی خود آپلود کنید.
/*
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 = 4, TXPin = 3;
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(); }
پس از آپلود کد سریال مانیتور دستگاه خود را باز کنید.
Comment (1)
سلام…من کد رو اجرا کردم و طول و عرض جغرافیایی و تاریخ رو صحیح نشون میداد اما تایم رو اشتباه نشون میداد چطور میتونم تایم رو اصلاح کنم؟؟