Mạch định vị GPS GY-NEO 6M V2

160.000 

Mạch định vị GPS GY-NEO 6M V2 nguồn cung cấp 3V-5V, kích thước ăng ten 12*12mm, tốc độ baud mặc định: 9600, chỉ báo tín hiệu LED

Mã sản phẩm: Y180 Danh mục: Tags: , , ,

Thông số kỹ thuật

Thông tin bổ sung

Trọng lượng 50 g

Thông tin sản phẩm

Mạch định vị GPS GY-NEO 6M V2 là module định vị toàn cầu sử dụng hệ thống vệ tinh GPS của Mỹ. Mạch định vị GPS NEO-6M cho tốc độ xác định vị trí nhanh và chính xác, có nhiều mức năng lượng hoạt động, phù hợp với các ứng dụng chạy pin.

Module định vị GPS sử dụng board điều khiển kết nối của hãng U-BLOX đến từ Thụy Sĩ có rất nhiều năm kinh nghiệm trong lĩnh vực sản xuất module định vị toàn cầu.

THÔNG SỐ KỸ THUẬT

  • Mạch định vị GPS GY-NEO 6M, nguồn cung cấp 3V-5V
  • Mẫu: GY-GPS6MV2
  • Mô-đun với ăng-ten bằng sứ, tín hiệu mạnh
  • EEPROM power-down lưu dữ liệu tham số cấu hình
  • Với pin dự phòng dữ liệu
  • Chỉ báo tín hiệu LED
  • Kích thước ăng ten 12*12mm
  • Kích thước module 23mm*30mm
  • Lắp đặt khẩu độ 3mm
  • Tốc độ baud mặc định: 9600
  • Tương thích với nhiều module điều khiển chuyến bay, cung cấp kiểm tra máy tính GPS

Sơ đồ chân:

VCC  –  3.3 – 5V

GND  –  GND

TX : chân truyền dữ liệu

RX : chân truyền dữ liệu

Sơ đồ mạch 

Mạch định vị GPS GY-NEO 6M V2

Sơ đồ kết nối với Arduino:

Mạch định vị GPS GY-NEO 6M V2

————————–CODE THAM KHẢO————————-

#include <TinyGPS++.h>
#include <SoftwareSerial.h>

static const int RXPin =8, TXPin = 9;
static const uint32_t GPSBaud = 9600;

TinyGPSPlus gps;

SoftwareSerial ss(RXPin, TXPin);

void setup()
{
  Serial.begin(115200);
  ss.begin(GPSBaud);
  Serial.println(TinyGPSPlus::libraryVersion());
  Serial.println();
  Serial.println(F("Sats HDOP  Latitude   Longitude   Fix  Date       Time     Date Alt    Course Speed Card  Distance Course Card  Chars Sentences Checksum"));
  Serial.println(F("           (deg)      (deg)       Age                      Age  (m)    --- from GPS ----  ---- to London  ----  RX    RX        Fail"));
  Serial.println(F("----------------------------------------------------------------------------------------------------------------------------------------"));
}

void loop()
{
  static const double LONDON_LAT = 51.508131, LONDON_LON = -0.128002;

  printInt(gps.satellites.value(), gps.satellites.isValid(), 5);
  printFloat(gps.hdop.hdop(), gps.hdop.isValid(), 6, 1);
  printFloat(gps.location.lat(), gps.location.isValid(), 11, 6);
  printFloat(gps.location.lng(), gps.location.isValid(), 12, 6);
  printInt(gps.location.age(), gps.location.isValid(), 5);
  printDateTime(gps.date, gps.time);
  printFloat(gps.altitude.meters(), gps.altitude.isValid(), 7, 2);
  printFloat(gps.course.deg(), gps.course.isValid(), 7, 2);
  printFloat(gps.speed.kmph(), gps.speed.isValid(), 6, 2);
  printStr(gps.course.isValid() ? TinyGPSPlus::cardinal(gps.course.deg()) : "*** ", 6);

  unsigned long distanceKmToLondon =
    (unsigned long)TinyGPSPlus::distanceBetween(
      gps.location.lat(),
      gps.location.lng(),
      LONDON_LAT, 
      LONDON_LON) / 1000;
  printInt(distanceKmToLondon, gps.location.isValid(), 9);

  double courseToLondon =
    TinyGPSPlus::courseTo(
      gps.location.lat(),
      gps.location.lng(),
      LONDON_LAT, 
      LONDON_LON);

  printFloat(courseToLondon, gps.location.isValid(), 7, 2);

  const char *cardinalToLondon = TinyGPSPlus::cardinal(courseToLondon);

  printStr(gps.location.isValid() ? cardinalToLondon : "*** ", 6);

  printInt(gps.charsProcessed(), true, 6);
  printInt(gps.sentencesWithFix(), true, 10);
  printInt(gps.failedChecksum(), true, 9);
  Serial.println();
  
  smartDelay(1000);

  if (millis() > 5000 && gps.charsProcessed() < 10)
    Serial.println(F("No GPS data received: check wiring"));
}
static void smartDelay(unsigned long ms)
{
  unsigned long start = millis();
  do 
  {
    while (ss.available())
      gps.encode(ss.read());
  } while (millis() - start < ms);
}

static void printFloat(float val, bool valid, int len, int prec)
{
  if (!valid)
  {
    while (len-- > 1)
      Serial.print('*');
    Serial.print(' ');
  }
  else
  {
    Serial.print(val, prec);
    int vi = abs((int)val);
    int flen = prec + (val < 0.0 ? 2 : 1); // . and -
    flen += vi >= 1000 ? 4 : vi >= 100 ? 3 : vi >= 10 ? 2 : 1;
    for (int i=flen; i<len; ++i)
      Serial.print(' ');
  }
  smartDelay(0);
}

static void printInt(unsigned long val, bool valid, int len)
{
  char sz[32] = "*****************";
  if (valid)
    sprintf(sz, "%ld", val);
  sz[len] = 0;
  for (int i=strlen(sz); i<len; ++i)
    sz[i] = ' ';
  if (len > 0) 
    sz[len-1] = ' ';
  Serial.print(sz);
  smartDelay(0);
}

static void printDateTime(TinyGPSDate &d, TinyGPSTime &t)
{
  if (!d.isValid())
  {
    Serial.print(F("********** "));
  }
  else
  {
    char sz[32];
    sprintf(sz, "%02d/%02d/%02d ", d.month(), d.day(), d.year());
    Serial.print(sz);
  }
  
  if (!t.isValid())
  {
    Serial.print(F("******** "));
  }
  else
  {
    char sz[32];
    sprintf(sz, "%02d:%02d:%02d ", t.hour(), t.minute(), t.second());
    Serial.print(sz);
  }

  printInt(d.age(), d.isValid(), 5);
  smartDelay(0);
}

static void printStr(const char *str, int len)
{
  int slen = strlen (str); 
  for (int i = 0; i <len; ++ i) Nối tiếp .print (i <slen? str [i]: ''); 
  smartDelay (0); 
}
   

Kết quả:

Mạch định vị GPS GY-NEO 6M V2

Lấy thông số tìm vị trí trên google map ta được:

Mạch định vị GPS GY-NEO 6M V2

 

Hình ảnh sản phẩm thực tế:

Mạch định vị GPS GY-NEO 6M V2

Mạch định vị GPS GY-NEO 6M V2

Mạch định vị GPS GY-NEO 6M V2

MỘT SỐ SẢN PHẨM LIÊN QUAN:

https://nshopvn.com/product/arduino-uno-r3-dip-kem-cap/

https://nshopvn.com/product/arduino-uno-r3-smd-chip-dan-kem-cap/

https://nshopvn.com/product/arduino-mega2560-r3-atmega16u2/

Đánh giá

  1. admin

    Mạch định vị GPS GY-NEO 6M V2 giá chỉ 160.000 ₫

Chỉ những khách hàng đã đăng nhập và mua sản phẩm này mới có thể đưa ra đánh giá.

Danh mục

Hỗ trợ online

Bán hàng

  • 0904 833 536
  • 0902 643 978
  • 0896 412 229

Kỹ thuật

  • 0896 441 229

Khác