Arduino Проект 33: Модуль GPS. Принцип работы, подключение, примеры
Опубликовано: 23.08.2018

Проект 33: Модуль GPS. Принцип работы, подключение, примеры
В этом эксперименте рассмотрим работу модуля GPS-приемника, позволяющего определять наше местоположение с помощью глобальной системы GPS, и подключение данного приемника к плате Arduino. Необходимые компоненты: • контроллер Arduino UNO R3 ; • плата для прототипирования ;
GPS LOGGER ARDUINO. Как изготовить GPS логгер на arduino
• GPS-приемник V.KEL VK16E ; • провода папа-папа . GPS (Global Positioning System) – это система, позволяющая с точностью не хуже 100 м определить местоположение объекта, то есть определить его широту, долготу и высоту над уровнем моря, а также направление и скорость его движения. Кроме того, с помощью GPS можно определить время с точностью до 1 наносекунды. GPS состоит из совокупности определенного количества искусственных спутников Земли (спутниковой системы NAVSTAR) и наземных станций слежения, объединенных в общую сеть. В качестве абонентского оборудования служат индивидуальные GPS-приемники, способные принимать сигналы со спутников и по принятой информации вычислять свое местоположение. Мы используем GPS-приемник V.KEL VK16E (см. рис. 33.1).



Рис. 33.3. Схема подключения GPS-приемника к Arduino
Приступим к написанию скетча. Будем использовать библиотеки SoftwareSerial и TinyGPS, позволяющую выделять нужные данные из всего потока, передаваемого приемником. Содержимое скетча показано в листинге 33.1. #include <SoftwareSerial.h> #include <TinyGPS.h> TinyGPS gps; SoftwareSerial gpsSerial(7, 8); bool newdata = false; unsigned long start; long lat, lon; unsigned long time, date; void setup() { gpsSerial.begin(9600); // скорость обмена с GPS-приемником Serial.begin(9600); Serial.println("Waiting data of GPS..."); } void loop() { // задержка в секунду между обновлениями координат if (millis() - start > 1000) { newdata = readgps(); if (newdata) { start = millis(); gps.get_position(&lat, &lon); gps.get_datetime(&date, &time); Serial.print("Lat: "); Serial.print(lat); Serial.print(" Long: "); Serial.print(lon); Serial.print(" Date: "); Serial.print(date); Serial.print(" Time: "); Serial.println(time); } } } // проверка наличия данных bool readgps() { while (gpsSerial.available()) { int b = gpsSerial.read(); //в TinyGPS есть ошибка: не обрабатываются данные с \r и \n if('\r' != b) { if (gps.encode(b)) return true; } } return false; } } Порядок подключения: 1. Собираем схему, согласно рис. 33.1. 2. Загружаем в плату Arduino скетч из листинга 33.1. 3. Ждем мигания зеленого светодиода на приемнике GPS, сигнализирующего о наличии данных о местоположении. 4. Смотрим в мониторе последовательного порта Arduino вывод данных широты и долготы. Также получаем текущую дату и время по Гринвичу (рис. 33.4).
Рис. 33.4. Вывод данных GPS в монитор последовательного порта Arduino
Курсы обмена валют ЦБ РФ
Сегодня | Завтра | ||
USD | 32.62 | 32.50 |
![]() |
EUR | 39.90 | 39.92 |
![]() |
Новости
Виджет для Opera
ТОП-5 обменников
Обменник | Переходов |
![]() |
6 |
![]() |
5 |
![]() |
4 |
![]() |
3 |
![]() |
3 |
Наш бонус WebMoney
Получить бонус
Вы можете получить WMR-бонус в размере 0,01-0,10 WMR на свой кошелек 1 раз в сутки | |
Кошелек
|
|
Код
|
|
Обмен Webmoney |