Сделать GPS-часы с PICAXE
В этой статье я покажу вам один способ получить время и дату с модуля GPS, используя PICAXE 20m2.
Требования
- Компьютер, на котором запущен редактор PICAXE или аналогичная IDE для программирования PICAXE.
- Кабель программирования. Я использую AX-027.
- PICAXE 20м2.
- Модуль GPS, отправляющий предложения NMEA. Я использую EM-411.
- ЖК-дисплей 16x2.
- Макет и перемычки.
- Части из списка ниже.
Введение
Для навигации в космосе имеется более двух десятков спутников. Они постоянно предоставляют время, даты и местоположение, которые доступны вам всем, пока у вас есть GPS-приемник. В этой статье я сделаю часы, показывающие время и дату, полученные с этих спутников. Я не буду вдаваться в работу спутника, но знаю, что они там, как безымянные боги, отправляют информацию.
Часы, которые я сделаю, покажут время и дату на ЖК-дисплее.
аппаратные средства
Модуль, который я буду использовать, - это EM-411. Это 6-контактный модуль, где 6-й контакт используется для ориентации штырькового разъема.

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

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

Программного обеспечения
Программное обеспечение для этого устройства легко понять. Однако я чувствую необходимость объяснить несколько вещей.
Сначала 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:

Если вы посмотрите внимательно на пример 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:

Если вы подсчитаете символы, начиная с 53, вы увидите, что первое число в дате «1» - это символ bptr address 104. Вот почему мне нужны все. Мы могли бы избежать этой команды, поскольку она содержит как время, так и дату. К сожалению, мой модуль GPS отправляет это предложение каждую четвертую секунду, поэтому секунды выглядят так, будто они пропускают и прыгают вперед. Предложение $ GPGGA отправляется каждую секунду. Вот почему я использую оба.
Загрузки
Здесь вы найдете библиотеку EagleCAD, исходный код и таблицу модулей GPS.
Техническое описание модуля EagleCAD LibraryDatasheetGPS
Вывод
Эта фигура продемонстрировала вам один из способов использования некоторой спутниковой информации. Я сделал часы, основанные на микроконтроллере PICAXE 20m2, LCD и GPS-модуле. Обратите внимание, что исправления ошибок нет, поэтому, если модуль GPS не имеет действительного сигнала от спутников, на дисплее может отображаться мусор.
Фотографии и видео


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