8 (800) 350-30-16

GPS-логгер на arduino

Дата: / Категория: Arduino / Автор: marsel

В этой статье расскажу о сборке так называемого GPS-логгер, работает оно так: arduino nano считывает данные с GPS-модуля (в нашем случае это NEO-6M) и записывает их на SD-карту в неизмененном виде. Итогом работы устройства будет один файл, в котором будет запись о местонахождении устройства через короткие промежутки, примерно в 1-2 секунды, что позволит наложить на интерактивную карту маршрут, данные о скорости, высоте и направлении движения устройства во время его работы.


GPS-модуль подключен к arduino посредством UART интерфейса, а модуль SD-карты по SPI, таким образом задействованы не все цифровые выводы arduino, что позволяет подключить к модулю дополнительные модули и датчики, например дисплей.
Для проверки стабильности устройства, оставил его включенным на несколько часов, погрешность за всё это время не превысила 15 метров, что говорит о высокой точности устройства.

#include <SoftwareSerial.h> 
#include <SD.h>
SoftwareSerial mySerial(2, 3); //сюда gps модуль
File GPS;
char buf[128];
byte bufSize;
bool waiting = true;
void setup() {
delay(800);
pinMode(4, OUTPUT);
while (!SD.begin()) {
digitalWrite(4,HIGH); delay(100);
digitalWrite(4,LOW); delay(100);
digitalWrite(4,HIGH); delay(100);
digitalWrite(4,LOW); delay(300);
}
GPS = SD.open("LOG.GPS", FILE_WRITE);
if (!GPS)
while (true) {
digitalWrite(4,HIGH); delay(100);
digitalWrite(4,LOW); delay(100);
digitalWrite(4,HIGH); delay(100);
digitalWrite(4,LOW); delay(300);
}
mySerial.begin(9600); // скорость GPS порта
Serial.begin(57600); //скорость порта
digitalWrite(4,HIGH);
}
void loop() {
digitalWrite(4,LOW);
while (mySerial.available()) {
bufSize = mySerial.readBytesUntil('\n', buf, 128);
if (waiting) {
if (bufSize > 70) {
waiting = false;
GPS.write(buf, bufSize);
Serial.println(buf);
}
} else if (bufSize > 0) {
GPS.write(buf, bufSize);
Serial.println(buf);
digitalWrite(4,HIGH);
}
GPS.flush();
}

Сервис для наложения трека на карты: http://www.gpsvisualizer.com

 Видео версия статьи:

Теги: #Arduino, #GPS, #SD

Ваша оценка:

Рейтинг: 10.0 (Оценок: 1)

Комментарий:

Copyright © RobOM.ru 2016 г. Все права защищены