Всем привет, сегодня рассмотрим как использовать 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
На этом все! Вы можете поделиться своей картой с другими.
5)Заключение
В этой статье мы сделали GPS-трекер на Arduino и GY-NEO6MV2, который записывает координаты на microSD-карту. Такой трекер может пригодиться для отслеживания местоположения и движения различных объектов, например, автомобилей, велосипедов, животных или людей.
Например, вы можете использовать GPS-трекер для:
Также мы узнали, как экспортировать данные в Yandex Maps для просмотра маршрута.
Надеюсь, эта статья была полезной и интересной для вас.
Всем спасибо, и удачи в ваших проектах!
Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.
Комментарии