GPS (Global Positioning System) — это глобальная спутниковая система навигации, разработанная и поддерживаемая правительством США. Она позволяет определять координаты и время в любой точке Земли с помощью спутников, которые находятся на орбите вокруг Земли.GPS состоит из сети спутников, которые передают сигналы, и приемников, которые принимают эти сигналы и обрабатывают их, чтобы определить свое местоположение. Каждый спутник GPS посылает информацию о своем местоположении и времени синхронизации с наземными станциями, которые обрабатывают эти данные и передают их пользователям.GPS широко используется в навигации, геодезии, геоинформационных системах, мониторинге транспорта и других областях. Он позволяет точно определять местоположение и перемещение объектов на Земле, что делает его важным инструментом для различных приложений.
Основными характеристиками модуля NEO-6M GPS являются:
— Высокая точность определения координат и времени
— Широкий диапазон рабочих температур (-40…+85°C)
— Поддержка нескольких систем спутниковой навигации (GPS, GLONASS, Galileo, BeiDou)
— Низкое энергопотребление (в режиме ожидания — менее 20 мА)
— Интерфейс UART для передачи данных
Для работы с модулем NEO-6M GPS необходимо подключить его к микроконтроллеру или компьютеру через интерфейс UART и настроить его на прием данных от спутников. Модуль можно использовать в различных проектах, связанных с навигацией, геолокацией и мониторингом объектов.
Модуль NEO-6M GPS способен отслеживать до 22 спутников на 50 каналах с большим уровнем чувствительности -161 дБ. Рабочее напряжение модуля 3,3 В (или 5 В при наличии стабилизатора на плате модуля). В модуле установлена микросхема HK24C32 (EEPROM) с объемом памяти 4 КБ, в EEPROM хранятся данные часов, последние данные о местоположении (данные об орбите) и конфигурацию модуля. Батарейка автоматически заряжается при включении модуля и сохраняет данные до двух недель. В модуле установлен светодиод который сигнализирует о состоянии определения местоположения, если светодиод горит но не мигает, значит идет поиск спутников, если светодиод мигает, значит спутники найдены и идет определение местоположения.
Так как модуль NEO-6M GPS позволяет принимать время UTC, то его можно использовать для установки коррекции времени в часах.
UTC (Coordinated Universal Time) — это мировое координированное время, которое используется в качестве стандарта для согласования времени в разных частях мира. Оно основано на атомных часах и корректируется для согласования со сменой года и сезонов. UTC имеет постоянную длительность суток, которая составляет 24 часа.UTC используется во всем мире в качестве стандарта времени для многих приложений, таких как навигация, телекоммуникации, астрономия и т.д. Он является основой для определения временных зон и синхронизации времени в компьютерных сетях и других системах.UTC отличается от GMT (Greenwich Mean Time) тем, что он не зависит от времени в Гринвиче и использует атомные часы вместо звездного времени.Время UTC не имеет временного сдвига относительно времени в Гринвиче (GMT), так как оно является мировым стандартом времени, который используется во всем мире. Однако, время UTC может отличаться от местного времени в зависимости от того, в какой части мира находится конкретное местоположение.Для согласования времени в разных частях мира используются различные временные зоны, которые отличаются от UTC на определенное количество часов. Например, время в Нью-Йорке отличается от UTC на 5 часов в зимнее время и на 4 часа в летнее время из-за перехода на летнее время.Поэтому, чтобы узнать время UTC в определенный момент времени, необходимо знать разницу между местным временем и временной зоной, в которой находится это местоположение.
Как прошить микроконтроллер LGT8F328P в статье — LGT8F328P-LQFP32 MiniEVB в Arduino IDE. Более подробная информация о модуле NEO-6M описана в NEO-6M GPS (Arduino), про дисплей описано в Дисплей 0.54″ 14-segment LED HT16K33 Backpact (Arduino библиотека).
Схема часов
Показания времени выводятся на дисплей 0.54″ 14-segment LED HT16K33 Backpact, который представляет собой четырех разрядный 14 сегментный (15 сегмент — запятая на каждом разряде) индикатор которым управляет светодиодный драйвер HT16K33.
ИМС HT16K33 – матричный драйвер светодиодов, также рассчитан на подключение и считывание матричной клавиатуры. Напряжение питания светодиодного драйвера от 4.5 до 5.5 В, ток потребления в активном режиме до 2 мА, а режиме ожидания до 10 мкА. Уровни интерфейса связи с микроконтроллером – 5 В, не совместимы с 3.3 В. Управление осуществляется посредством интерфейса I2C на скорости до 400 кГц, к одной шине I2C можно подключить до 8-и устройств (начальный адрес 0х70).
Скетч часов нуждается в корректировке двух параметров:
- #define time_offset 21600 // смещение от UTC 1 час = 3600
- #define KORR_T —4.5 // DS18B20 коррекция температуры
Первый параметр это сдвиг в секундах от времени UTC, второй параметр это корректировка показаний температуры датчика.
Рекомендуется устанавливать датчик температуры DS18B20 вне корпуса часов, при установке в корпусе возможен дополнительный нагрев датчика от других элементов схемы.
После включения часов модуль NEO-6M GPS начнет искать спутники, на это может потребоваться определенное время, при этом на дисплей будет выводится надпись SCAN.
После определения времени, часы с 0 по 50 секунду выводят время, далее с 50 по 55 секунду температуру, а с 55 по 59 секунду день недели и дату.
Скетч - http://rcl-radio.ru/?p=130611