GPS-трекер на Arduino и GY-NEO6MV2

15 июня 2023

Всем привет, сегодня рассмотрим как использовать GPS-трекер GY-NEO6MV2, который будет записывать данные о координатах, скорости и высоте на microSD-карту. Такой трекер может пригодиться для отслеживания местоположения и движения различных объектов, например, автомобилей, велосипедов, животных или людей.

Для создания проекта нам понадобиться:

1) Соединения компонентов:

Подключаем GPS-модуль к Arduino Uno через последовательный интерфейс UART с помощью контактов TX и RX. Будем использовать программный порт SoftwareSerial, чтобы не занять аппаратный порт, который нужен для связи с компьютером. Я выбрал пины 6 и 7 для TX и RX, но можно использовать любые цифровые пины. Также подключаем VCC и GND контакты GPS-модуля к 5В и GND Arduino соответственно. Керамическую антенна подключаем к разъему на GPS-модуле.

Для подключения модуля для microSD-карты используем стандартные пины SPI Arduino Uno: 10 для CS, 11 для MOSI, 12 для MISO и 13 для SCK. VCC и GND к 5В и GND Arduino. Вставляем предварительно отформатированную microSD-карту в слот на модуле до щелчка.

2) Скетч:

Модуль отдает данные в последовательный порт в формате NMEA:

Можно не писать скетч, а подключить модуль напрямую к компьютеру через UART и сохранить данные из монитора порта. На сайте https://www.nmeagen.org/ можно загрузить сохраненные данные и получить координаты в читаемом формате, а так-же построить карту по перемещениям:

Но если необходимо сохранять данные на карту есть библиотека TinyGPS+, которая распарсит данные с модуля сразу через arduino.

// Подключаем необходимые библиотеки
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
#include <SD.h>
// Создаем объекты
TinyGPSPlus gps;
SoftwareSerial ss;
File file;
// Устанавливаем пины модуля и sd-карты
#define GPS_TX 6
#define GPS_RX 7
#define SD_CS 10
// Имя файла, в который будем записывать данные
#define FILE_NAME "gps_data.csv"
void setup() {
 // Устанавливаем скорость обмена данных с компьютером, GPS-модулем и microSD-картой
 Serial.begin(9600);
 ss.begin(9600);
 SD.begin(SD_CS);
 // Инициализируем microSD-карту и создаем файл на карте
 if (SD.exists(FILE_NAME)) {
SD.remove(FILE_NAME);
 }
 file = SD.open(FILE_NAME, FILE_WRITE);
 if (!file) {
Serial.println("Error opening file");
return;
 }
}
void loop() {
 // Читаем данные от GPS-модуля и парсим их
 while (ss.available() > 0) {
gps.encode(ss.read());
 }
 // Если есть данные о координатах
 if (gps.location.isValid()) {
// Записываем данные о координатах, скорости и высоте в файл каждую минуту
static unsigned long previousMillis = millis();
if (millis() - previousMillis >= 60000) {
previousMillis = millis();
file.print(gps.location.lat(), 6);
file.print(",");
file.print(gps.location.lng(), 6);
file.print(",");
file.print(gps.speed.kmph());
file.print(",");
file.println(gps.altitude.meters());
file.flush();
}
// Выводим данные на компьютер для отладки
Serial.print("Latitude: ");
Serial.println(gps.location.lat(), 6);
Serial.print("Longitude: ");
Serial.println(gps.location.lng(), 6);
Serial.print("Speed: ");
Serial.println(gps.speed.kmph());
Serial.print("Altitude: ");
Serial.println(gps.altitude.meters());
 }
 else {
// Если нет данных о координатах
Serial.println("No GPS data");
 }
}

3) Загружаем...

Если модуль работает вы увидите в мониторе порта ваши координаты:

Возможно данные появиться не сразу, но в течении одной минуты должны появиться.
Для чего мы все это делали?Возьмите трекер с собой на прогулку и вы сможете построить точную карту ваших перемещений!

4) Импорт данных в Yandex Maps

  1. Откройте сайт https://yandex.ru/map-constructor/ и создайте новую карту.
  2. Убедился, что формат файла выбран как CSV и разделитель - запятая.
  3. Нажмите на кнопку “Импортировать” в списке карт и выберите файл gps_data.csv с microSD-карты.
  4. Дождитесь загрузки данных на карту.

На этом все! Вы можете поделиться своей картой с другими.

5)Заключение

В этой статье мы сделали GPS-трекер на Arduino и GY-NEO6MV2, который записывает координаты на microSD-карту. Такой трекер может пригодиться для отслеживания местоположения и движения различных объектов, например, автомобилей, велосипедов, животных или людей.

Например, вы можете использовать GPS-трекер для:

  • Мониторинга транспорта: вы можете узнать, где находится ваш автомобиль, сколько он проехал и какая у него скорость.
  • Спорта и туризма: вы можете записывать свои пробежки, велопоездки или походы и анализировать свои результаты.
  • Экологии и науки: вы можете отслеживать перемещения животных или растений и изучать их поведение и адаптацию.

Также мы узнали, как экспортировать данные в Yandex Maps для просмотра маршрута.

Надеюсь, эта статья была полезной и интересной для вас.

Всем спасибо, и удачи в ваших проектах!


Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.


Поделиться: