Espruino:Примеры/Часы реального времени на базе Espruino

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Часы реального времени на базе Espruino[1]

Некоторым проектам требуется знать текущее время – это могут быть, например, часы или запись данных через определенные промежутки времени.

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

Плата Генератор Точность
Espruino Original 1v4+ Внешний кристалл Хорошая
Espruino Original 1v3 Внутренние часы 1%
Espruino Pico Внутренние часы 10%
Espruino WiFi Внешний кристалл Хорошая
Puck.js Внутренние часы с калибровкой Хорошая
Pixl.js Внутренние часы с калибровкой Хорошая
MDBT42Q Внутренние часы с калибровкой Хорошая
Bangle.js Внутренние часы с калибровкой Хорошая

Если у вас Espruino Original или Pico без кристалла, то вы можете установить его сами (см. ниже).

Примечание: Вы можете просто воспользоваться внешним модулем вроде DS3231.

Установка кристалла

Espruino Original

Примечание: Espruino 1.4 уже оснащена низкоскоростным генератором импульсов. Установка кристалла может понадобиться только для версии 1.3.

Clocks crystal 1.jpg

Кристалл можно купить практически у любого поставщика электронных компонентов. Например:

Вам нужен компонент, выглядящий примерно как на картинке выше: длиной примерно 8 мм, шириной около 2 мм и с двумя очень тонкими проводами. Они недорогие, но их также можно просто достать из старых кварцевых часов.

Clocks crystalpos 2.jpg
  • Поместите две маленьких капельки припоя на две контактные площадки, показанные на фото выше.
  • Подрежьте провода кристалла до равной длины и полудите их.
  • Припаяйте кристалл к плате (то, какой провод к какой площадке вы припаяете, не важно).
  • Пригните его к ARM-чипу и примените суперклей, чтобы зафиксировать его.
Clocks final 3.jpg

Четыре другие контактные площадки, находящиеся рядом, предназначены для двух конденсаторов кристалла. Для таких кристаллов необходимо, чтобы ёмкость каждого конденсатора была около 12 пФ. Впрочем, ёмкости достаточно и у самой платы, так что кристалл будет идеально работать и без конденсаторов.

Espruino Pico

На стороне платы, обратной USB-коннектору, имеется 6 пустых контактных площадок. Вам понадобятся:

Две большие площадки предназначены для кристалла, а маленькие – для конденсаторов.

Лучше устанавливать кристалл с помощью термовоздушной паяльной станции и пинцетов (если они у вас есть). Конечно, можно воспользоваться паяльником с тонким жалом, но это потребует больше времени и усидчивости.

Код

Он не нужен! Просто подключите Espruino к питанию, после чего она автоматически обнаружит кристалл и начнёт им пользоваться.

Рекомендуем включить настройку Set Current Time в настройках IDE Espruino (нажмите на иконку с шестерёнкой справа вверху, а затем на Communications – пункт Set Current Time должен быть в самом низу). Теперь, когда вы будете загружать код, на устройстве будет автоматически задаваться правильное время (и часовой пояс), а new Date() будет возвращать объект Date, с помощью которого можно будет узнать текущее время.

Чтобы задать время вручную, просто воспользуйтесь функцией setTime() и задайте там количество секунд, прошедших с 1970 года.

Кроме того, можно воспользоваться модулем clock, который будет отслеживать время независимо от системного времени.

См.также

Ссылки на полезные ресурсы

Внешние ссылки