GPS часы на Arduino

Здравствуйте, меня зовут Дмитрий, сегодня я расскажу как я создал GPS часы. В конце статьи будет ссылка на прошивку и CAD 3D модель.

Итак захотелось мне сделать что нибудь на Arduino и при этом что нибудь полезное. И выбор мой пал на часы но не просто часы а часы с синхронизацией времени по GPS ну и будильником заодно.

Описание конструкции
Здесь я также буду приводить цены в долларах, причем с учетом доставки. Все компоненты были куплены на одном всем известном китайском сайте, каком говорить не буду, а то посчитают за рекламу.

  • Ardurino Uno центр всей системы — Цена 3.45$.
  • GPS модуль VK2828U7G5LF — Цена 6.21$.
  • CD4026BE драйверы для цифровых индикаторов 5 шт. Цена 2.20$.
  • Разъемы под драйверы 16Pins. Купил их чтобы не повредить драйверы при пайке. Цена 0.51$.
  • 7 сегментные цифровые индикаторы 1,8 дюйма с общим катодом на это нужно обратить внимание, индикаторами с общим анодом нельзя управлять при помощи CD4026BE. 4 шт. Цена 3.63$.
  • Разъемы под цифровые индикаторы 5Pins 10 шт. Эти разъемы выпили у меня много крови дело в том что ноги цифровых индикаторов немного тоньше обычных штырьков которые в них вставляются, поэтому обязательно подогните концы ног у цифровых индикаторов в сторону. Цена 1.57$.
  • Резисторы 220 Ом. Нужны для ограничения тока в цепи светодиодов 40 шт я по неопытности заказал на 2 Вт но конечно-же подойдут и на 0,5 Вт. Цена 2.22$.
  • Резисторы на 12 кОм. Покупал я их как «подтягивающие» для кнопок но потом узнал что у Ardurino есть встроенный резистор который активируется в режиме PullUp. Но они мне пригодились когда надо было подогнать яркость 2 центральных светодиодов под яркость цифровых индикаторов. Спаяв 5 штук параллельно я получил 2,3 кОм. Так что они все таки пригодились 20 шт. Цена 0.68$.
  • Динамик пищалка активный. Цена 0.82$.
  • Светодиод красный 10 шт. Цена 1.25$.
  • Шлейф из проводов dupont line 20 см. Я использовал его как источник проводков для соединения компонентов. Цена 1.13$.
  • Энкодер нужен для выставления времени будильника и настройки. Энкодер я выбрал поскольку при помощи него процесс установки времени упрощается в сто раз. Почему энкодеры не применяются повсеместно в всех часах ума не приложу. Цена 0.98$.
  • Ручка для энкодера. Стандартная ручка ужасна. Цена 1.31$.
  • Кнопка со встроенным в неё светодиодом. Цена 0.87$.
  • Датчик освещенности BH1750 (я выбрал тот который короткий). Естественно я захотел чтобы часы автоматически регулировали свою яркость. Цена 0.81$.
  • Мосфет модуль 2 шт. Почему 2 штуки? Первый как вы понимаете я использую для управления яркостью циферблата, а второй я использую чтобы отключать GPS модуль, конечно у него есть спящий режим но в этом режиме он отключается не полностью, поэтому я устроил ему «спящий режим» при помощи мосфета. Стоит ли отключать GPS модуль? Да стоит при включенном GPS часы потребляют 120 миллиампер а при выключенном только 80. Почему модуль? Потому что мосфеты продаются только партиями по 10 шт а мне столько не надо. Цена 1.06$.
  • Индуктивный сенсор CJMCU-0101. Цена 1.73$.
  • Набор разъем гнездо 40Pin 5 шт. Нужен чтобы при помощи них подключать провода к плате. Вы спросите почему я не использовал эти разъемы для цифровых индикаторов? Потому что я с начало заказал те разъемы а потом понял что их мне будет недостаточно. Цена 1.56$.
  • Акрил из него сделан корпус. Я взял 2 куска. Первый 200x200x4 мм Полупрозрачный из них я сделал переднюю и заднюю панели. Второй 200x200x3 мм полностью черный из него я сделал боковые панели. Панели между собой я склеил термоклеем. Цена 13.03$.
  • Специальный нож крюк для резки акрила. Цена 2.01$
  • Две монтажные двусторонние платы 9×15 см. Цена 4.18$.
  • Силиконовые само-клюющиеся ножки 4 шт. Цена 0.88$.
  • Шестигранные латунные стойки для плат М3X12 20 шт формата папа мама. И М3×20 10 шт формата мама мама. Цена 3.67$.
  • Винты черные с головкой под внутренний шестигранник 20 шт. Цена 2.06$.
  • Макетная плата и перемычки для неё. Она вам понадобится чтобы проверить работа-способность ваши компонентов перед их установкой. Цена 3.77$.
  • Возможно вам понадобится блок питания как я уже сказал часы во время синхронизации потребляют 120 миллиампер когда GPS модуль отключен только 80 миллиампер но у меня он был.

    Кроме того настоятельно рекомендую выпаять все светодиоды как с Arduino так и с модулей, а то внутри часов будет настоящая дискотека.

    Итак в результате мы имеем 60,72$ или 4007 рублей по курсу на момент написания статьи. При этом если у вас нет паяльника мультиметра и других паяльных принадлежностей то вам придется отдать за них примерно столько-же.

    Принцип работы
    При включении часы показывают количество спутников которое видит GPS модуль. После того как синхронизация происходит часы начинают показывать время. При нажатии на энкодер можно устанавливать будильник. Кнопка включает и выключает будильник при этом она отображает включен-ли будильник.При срабатывание будильника если положить руку сверху на часы то можно перевести их в режим снуз (индикатор будильника будет при этом мигать).
    Если нажать на энкодер при зажатой кнопке включения будильника можно установить нужный часовой пояс (по умолчанию +3). Последующее нажатие на энкодер позволяет выставить задержку режима снуз у будильника.

    Ну и поскольку это GPS часы то у них есть «секретный» режим. Если их включить зажав кнопку включения будильника, часы перейдут в режим когда, они пересылают данные с GPS модуля через USB порт. При помощи программы u-center можно просматривать эти данные. Кроме того когда загорится индикатор работы будильника это будет означать что часы нашли координаты. После этого вращая энкодер можно увидеть сначала широту а потом долготу.

    Фотосесия

    Вид сзади со снятым корпусом.


    Задняя плата с другой стороны.


    Плата с цифровыми индикаторами спереди.


    Плата с цифровыми индикаторами сзади.

    Вывод
    Не смотря на высокую стоимость этих часов я ими все таки доволен. Как вы понимаете производитель ориентируется на потребности среднестатистического потребителя. А благодаря Arduino можно создать продукт который полностью вас удовлетворит.

    Прошивка вместе с CAD 3D моделью.

    Данная модель сделана при помощи программного пакета Creo Parametric (бывший ProEnginer) для её просмотра вам понадобится либо сам Creo Parametric либо просмоторщик который называется Creo View Express его можно скачать с сайта ptc но вам придется у них зарегестрироваться.

    Источник