MODULE GPS NEO-6M + ĂNGTEN
THÔNG SỐ KỸ THUẬT
- Điện áp hoạt động : 3.3V - 5V.
- Kích thước : 23mm x 30mm .
- Giao tiếp : UART.
ỨNG DỤNG
- Xác định tọa độ (kinh tuyến, vĩ tuyến) hiện tại của module trên bề mặt trái đất với sai số nhỏ nhất < 1m.
- Có thể tính toán ra tốc độ di chuyển, hướng di chuyển của vật thể được gắn module GPS.
- Chỉ cần 3 vệ tinh là bạn có thể xác định được tọa độ, chỉ cần 4 vệ tinh là bạn có thể xác định được độ cao hiện tại so với mực nước biển.
SƠ ĐỒ KẾT NỐI
CODE MẪU
// Interfacing Arduino with NEO-6M GPS module
#include <TinyGPS++.h> // Include TinyGPS++ library
#include <SoftwareSerial.h> // Include software serial library
TinyGPSPlus gps;
#define S_RX 4 // Define software serial RX pin
#define S_TX 3 // Define software serial TX pin
SoftwareSerial SoftSerial(S_RX, S_TX); // Configure SoftSerial library
void setup(void) {
Serial.begin(9600);
SoftSerial.begin(9600);
}
void loop() {
while (SoftSerial.available() > 0) {
if (gps.encode(SoftSerial.read())) {
if (gps.location.isValid()) {
Serial.print("Latitude = ");
Serial.println(gps.location.lat(), 6);
Serial.print("Longitude = ");
Serial.println(gps.location.lng(), 6);
}
else
Serial.println("Location Invalid");
if (gps.altitude.isValid()) {
Serial.print("Altitude = ");
Serial.print(gps.altitude.meters());
Serial.println(" meters");
}
else
Serial.println("Altitude Invalid");
if (gps.speed.isValid()) {
Serial.print("Speed = ");
Serial.print(gps.speed.kmph());
Serial.println(" kmph");
}
else
Serial.println("Speed Invalid");
if (gps.time.isValid()) {
Serial.print("Time (GMT) : ");
if (gps.time.hour() < 10) Serial.print("0");
Serial.print(gps.time.hour());
Serial.print(":");
if (gps.time.minute() < 10) Serial.print("0");
Serial.print(gps.time.minute());
Serial.print(":");
if (gps.time.second() < 10) Serial.print("0");
Serial.println(gps.time.second());
}
else
Serial.println("Time Invalid");
if (gps.date.isValid()) {
Serial.print("Date : ");
if (gps.date.day() < 10) Serial.print("0");
Serial.print(gps.date.day());
Serial.print("/");
if (gps.date.month() < 10) Serial.print("0");
Serial.print(gps.date.month());
Serial.print("/");
Serial.println(gps.date.year());
}
else
Serial.println("Date Invalid");
if (gps.satellites.isValid()) {
Serial.print("Satellites = ");
Serial.println(gps.satellites.value());
}
else
Serial.println("Satellites Invalid");
}
}
}