Система GPS-слежения с Arduino Uno и Digilent PmodGPS

В этом уроке мы сделаем систему GPS-трекинга с использованием ЖК-дисплея, платы Arduino Uno и модуля Digilent PmodGPS. Данный проект, как и многие другие, является основой для более крупного проекта, в котором будет освещено использование PmodGPS от Digilent в качестве указателя местоположения и будет указана точка отсчета. Это может быть полезно для путешественников, охотников или в ситуациях где нет четких указателей местоположения/направления.

Описание

В этом проекте используются и микроконтроллер Arduino Uno, ЖК-экран PmodCLS от Digilent, а также PmodGPS от Digilent. Arduino Uno рекомендуется по причине более простого программирования, чем Verilog или какого-либо другого HDL (HDL - hardware description language, язык описания оборудования).

После ввода в эксплуатации, этот проект будет отображать пользовательские широту, долготу, высоту, расстояние до фиксированной точки, угол в направлении неподвижной опорной точки, скорость пользователя, а также другие данные. Их может выбрать программист для дальнейшей реализации, поскольку есть много других функций, доступных для PmodGPS.

Эта система может питаться от USB переносной батареи. Просто запрограммируйте Arduino Uno, отсоедините от компьютера, подключите USB-аккумулятор, и Arduino Uno продолжит работать в обычном режиме. Контрольная точка устанавливается во время сброса системы. Проект можно запустить вручную, нажав кнопку сброса на Arduino Uno.

Комплектующие

Для нашего GPS трекера нужно совсем мало деталей:

  • Arduino UNO × 1
  • Digilent Pmod GPS × 1
  • Digilent Pmod CLS × 1
  • Перемычки

Для работы с кодом нам пригодится Arduino IDE.

Схема соединения

PmodCLS: в уроке использован модуль PmodCLS для ЖК-экрана потому, что он был доступен, и в интернете были примеры кода для его использования в Arduino IDE. PmodCLS использует питание 5 В, заземление и линию RX для приема данных от Arduino Uno для отображения. Эти соединения расположены в «верхнем» ряду контактов в секции J2. Задняя сторона PmodCLS указывает, какие контакты V+, GND и RX. TX не нужен, так как экран не будет отправлять данные обратно в Arduino Uno. RX подключается к PIN X на Arduino.

PmodGPS: PmodGPS использует соединение UART с Arduino Uno. Подключите TX на PmodGPS к RX на Arduino Uno и RX на PmodGPS к TX на Arduino Uno.

Это соединение необходимо выполнить после загрузки кода в Arduino Uno, поскольку в среде IDE Arduino для загрузки кода используется последовательный порт, а PmodGPS прервет это соединение.

Вывод 1PPS является выходным выводом «1 импульс в секунду», который синхронизирован со временем GPS. Подсоедините контакт 1PPS к PIN X на Arduino Uno. Пин 3DF показывает статус позиционной привязки пользователя. Когда модуль имеет постоянное позиционирование, этот вывод остается LOW, а если модуль не может получить фиксированную позицию, то вывод будет переключаться каждую секунду. Нет уверенности в том, что именно это означает, в процессе реализации проекта не было разницы в производительности от того была ли позиция «фиксированной» или нет. Подключите штырь 3DF к штырю X на Arduino Uno. Наконец, подключите GND и 3.3V.

Батарея USB: для использования автономного аккумулятор сначала загрузите код в Arduino Uno, подключите TX/RX PmodGPS, затем подключите батарею USB к Arduino Uno.

Ниже приведены примеры выходных дисплеев на ЖК-экране. Все компоненты хранятся в фанни-пакете, так как это было частью более крупного проекта, упомянутого в начале этого проекта.

Код для проекта

Ниже в zip-архиве вы найдете код для проекта и все необходимые файлы:

После того как вы все соберете и загрузите код в Ардуино вы сможете на экране увидеть все данные:

На этом всё. Хороших вам проектов.

Ардуино+