Сделать gps часы с пикассой

Сделать gps часы с пикассой
Сделать gps часы с пикассой
Anonim

Сделать GPS-часы с PICAXE

В этой статье я покажу вам один способ получить время и дату с модуля GPS, используя PICAXE 20m2.

Требования

  • Компьютер, на котором запущен редактор PICAXE или аналогичная IDE для программирования PICAXE.
  • Кабель программирования. Я использую AX-027.
  • PICAXE 20м2.
  • Модуль GPS, отправляющий предложения NMEA. Я использую EM-411.
  • ЖК-дисплей 16x2.
  • Макет и перемычки.
  • Части из списка ниже.

Введение

Для навигации в космосе имеется более двух десятков спутников. Они постоянно предоставляют время, даты и местоположение, которые доступны вам всем, пока у вас есть GPS-приемник. В этой статье я сделаю часы, показывающие время и дату, полученные с этих спутников. Я не буду вдаваться в работу спутника, но знаю, что они там, как безымянные боги, отправляют информацию.

Часы, которые я сделаю, покажут время и дату на ЖК-дисплее.

аппаратные средства

Модуль, который я буду использовать, - это EM-411. Это 6-контактный модуль, где 6-й контакт используется для ориентации штырькового разъема.

Image
Image

Соединениями являются GND, Vin, Tx, Rx, GND и NC. В моих часах я не собираюсь использовать Rx-контакт. Я не отправляю какие-либо команды на свой модуль GPS. Tx подключается к выходу PICAXE 20m2 4. Это C.6, и он вводится только.

Вот схематическая диаграмма:

Image
Image

Список деталей

Этот снимок экрана включает в себя устройства, пакеты и библиотеки EagleCAD.

Image
Image

Программного обеспечения

Программное обеспечение для этого устройства легко понять. Однако я чувствую необходимость объяснить несколько вещей.

Сначала GPS-модуль отправляет много информации на вывод Tx. Все это получает микроконтроллер. Используя команду:

serin GPS_RX, T4800_8, («$ GPGGA»),,,,,,,

дайте нам то, что нам нужно.

Чтобы разбить эту строку:

serin - эта команда используется для приема последовательных данных во входной контакт PICAXE 20m2.

GPS_RX - в программном обеспечении это микроконтроллеры C.6 / pin 4

T4800_8 - Это режим бода. T указывает, что это истинный выход (высокий уровень). В 8 говорится, что микроконтроллер должен работать на частоте 8 МГц

(«$ GPGGA») - это определитель, а это означает, что он читает все, что приходит после этого, и помещает его в переменные.

- это переменная типа указателя, которая увеличивается с одной после того, как значение помещено.

Объяснение bptr, bptrinc, и. Подумайте о наборе ящиков. Bptr удерживает адрес ящика, а удерживает содержимое ящика. использует содержимое и переходит к следующему адресу.

Вот что выглядит предложение $ GPGGA:

Image
Image

Если вы посмотрите внимательно на пример NMEA, вы увидите $ GPGGA, 161229.487 … Время 16: 12: 29.487. Чтобы получить эти числа, нам нужно заполнить 7 данными. Первая - это запятая между A (в $ GPGGA) и 1629 … Мы используем, потому что тогда она перемещается на следующий адрес после того, как значение установлено.

Важно отметить, что память bptr начинается с адреса 53. 52 адреса до этого - все b1, b2, b3, b4 и т. Д.

Чтобы получить дату, я использую команду:

serin GPS_RX, T4800_8, («$ GPRMC»), @ bptrinc,,,,, @ bptrinc, _,,,,,, @ bptrinc,, @ bptrinc, _,,,,,,,, @ bptrinc, _,,,, @ bptrinc,,,, @ bptrinc, _,,,,,,,, @ bptrinc, _,, @ bptrinc,,,,,, @ bptrinc, _,,,,,

Подчеркивание в конце строк указывает, что команда продолжается на следующей строке.

Вот что выглядит предложение GPRMC:

Image
Image

Если вы подсчитаете символы, начиная с 53, вы увидите, что первое число в дате «1» - это символ bptr address 104. Вот почему мне нужны все. Мы могли бы избежать этой команды, поскольку она содержит как время, так и дату. К сожалению, мой модуль GPS отправляет это предложение каждую четвертую секунду, поэтому секунды выглядят так, будто они пропускают и прыгают вперед. Предложение $ GPGGA отправляется каждую секунду. Вот почему я использую оба.

Загрузки

Здесь вы найдете библиотеку EagleCAD, исходный код и таблицу модулей GPS.

Техническое описание модуля EagleCAD LibraryDatasheetGPS

Вывод

Эта фигура продемонстрировала вам один из способов использования некоторой спутниковой информации. Я сделал часы, основанные на микроконтроллере PICAXE 20m2, LCD и GPS-модуле. Обратите внимание, что исправления ошибок нет, поэтому, если модуль GPS не имеет действительного сигнала от спутников, на дисплее может отображаться мусор.

Фотографии и видео

Image
Image
Image
Image

Попробуйте этот проект сами! Получить спецификацию.