ماژول ®ProMake GPS NEO-6M
توصیف
®ProMake GPS NEO-6M یک گیرنده با عملکرد خوب است که قابلیت جستجوی ماهواره ای قوی را فراهم می کند. این ماژول گیرنده GPS سری NEO را از u-blox ارائه می کند. به لطف الگوریتم های پیشرفته u-blox، این یک راهکار کامل GPS است که هم برای دریافت و هم برای ردیابی مناسب است و محصولی ایده آل برای ردیابی خودرو، مصرف کننده و کاربردهای صنعتی است.
قابلیتها
- ردیابی با -162dBm خاموش و با -148dBm از مد سرد شروع می شود
- امکان پیکربندی و مدیریت توان
- هسته هیبریدی GPS/SBAS (WAAS, EGNOS, NSAS)
- تکنولوژی ضد گیر کردن
- ارتباط سریال UART *
- Navigate down to –162 dBm and –148 dBm coldstart
- Configurable power management
- Hybrid GPS/SBAS engine (WAAS, EGNOS, MSAS)
- Anti-jamming technology
- UART communication
- LED برای نشان دادن وضعیت عملکرد ماژول
نکات مهم
منابع
نقشه پین مازول
نرم افزار
توسعه با آردینیو
ربرای راه اندازی سخت افزاری، بسادگی این ماژول را بروی موارد زیر قرار دهید:
- اسلات
ماژول3
کیت ProMake® آردینیو نانو
یا
- اسلات
ماژول2
شیلد ProMake® آردینیو یونو
or
- روی برد آموزشی با اتصال پاور و تغذیه و ارتباط سریال UART
برای شروع کدنویسی باید موارد زیر را نصب کنید:
- Arduiniana - TinyGPSPlus
- "NeoSWSerial" (by SlashDevin)
در Arduino® IDE شما. سپس از کد زیر برای برنامه نویسی آردوینو استفاده کنید و "Serial Monitor" را برای مشاهده خوانش ها باز کنید:
سپس در محیط برنامه نویسی تان Arduino® IDE از کد زیر برای برنامه نویسی استفاده کنید و "Serial Monitor" را برای مشاهده خوانش ها باز کنید:
#include <TinyGPSPlus.h>
#include <NeoSWSerial.h>
/*
#define GPS_TX_PIN 4
#define GPS_RX_PIN 7
#define GPS_RST_PIN 8
*/
#define GPS_TX_PIN 4
#define GPS_RX_PIN 5
#define GPS_RST_PIN 14
// The TinyGPS++ object
TinyGPSPlus gps;
// The serial connection to the GPS device
NeoSWSerial GPS_Serial(GPS_TX_PIN,GPS_RX_PIN);
void setup() {
pinMode(GPS_RST_PIN,OUTPUT);
//GSM start
digitalWrite(GPS_RST_PIN,LOW);
delay(1000);
digitalWrite(GPS_RST_PIN,HIGH);
Serial.begin(9600);
GPS_Serial.begin(9600);
}
void loop() {
// This sketch displays information every time a new sentence is correctly encoded.
while (GPS_Serial.available() > 0)
if (gps.encode(GPS_Serial.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();
}