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

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


=Часы реального времени на базе Espruino<ref>[https://www.espruino.com/Clocks www.espruino.com - Espruino's Real Time Clock]</ref>=
=Часы реального времени на базе Espruino<ref>[https://www.espruino.com/Clocks www.espruino.com - Espruino's Real Time Clock]</ref>=
Некоторым проектам требуется знать текущее время – это могут быть, например, часы или запись данных через определенные промежутки времени.
Все [[Espruino-платы]] оснащены собственными часами реального времени, с помощью которых они могут отсчитывать время, даже находясь в энергосберегающем режиме глубокого сна. Но в зависимости от платы точность этих часов может сильно варьироваться:


{| class="wikitable" style="margin:0 auto;"
{| class="wikitable" style="margin:0 auto;"
Строка 41: Строка 45:
|| Хорошая
|| Хорошая
|}
|}
Если у вас [[Espruino Original]] или [[Pico]] без кристалла, то вы можете установить его сами (см. ниже).
'''Примечание:''' Вы можете просто воспользоваться внешним модулем вроде [https://www.espruino.com/DS3231 DS3231].
== Установка кристалла ==
=== Espruino Original ===
'''Примечание:''' [[Espruino]] [https://www.espruino.com/Original#layout 1.4] уже оснащена низкоскоростным генератором импульсов. Установка кристалла может понадобиться только для версии 1.3.
[Картинка]
Кристалл можно купить практически у любого поставщика электронных компонентов. Например:
* [https://uk.farnell.com/multicomp/mcrj332768f1220how/crystal-32-768khz-12-5pf-thru-hole/dp/1701100 Farnell]
* [https://www.ebay.com/sch/i.html?_nkw=Crystal+32.768&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5337979701&customid=&toolid=10001&mkevt=1 eBay]
Вам нужен компонент, выглядящий примерно как на картинке выше: длиной примерно ''8 мм'', шириной около ''2 мм'' и с двумя очень тонкими проводами. Они недорогие, но их также можно просто достать из старых кварцевых часов.
[Картинка]
* Поместите две маленьких капельки припоя на две контактные площадки, показанные на фото выше.
* Подрежьте провода кристалла до равной длины и полудите их.
* Припаяйте кристалл к плате (то, какой провод к какой площадке вы припаяете, не важно).
* Пригните его к ARM-чипу и примените суперклей, чтобы зафиксировать его.
[Картинка]
Четыре другие контактные площадки, находящиеся рядом, предназначены для двух [[конденсатор]]ов кристалла. Для таких кристаллов необходимо, чтобы ёмкость каждого [[конденсатор]]а была около [[12 пФ]]. Впрочем, ёмкости достаточно и у самой платы, так что кристалл будет идеально работать и без [[конденсатор]]ов.
=== Espruino Pico ===
На стороне платы, обратной [[USB-коннектор]]у, имеется ''6'' пустых контактных площадок. Вам понадобятся:
* Кристалл [[Abracon ABS06-107]]
* Два конденсатора [[0603]] на [[4 пФ]]
Две большие площадки предназначены для кристалла, а маленькие – для [[конденсатор]]ов.
Лучше устанавливать кристалл с помощью термовоздушной паяльной станции и пинцетов (если они у вас есть). Конечно, можно воспользоваться паяльником с тонким жалом, но это потребует больше времени и усидчивости.
== Код ==
Он не нужен! Просто подключите [[Espruino]] к питанию, после чего она автоматически обнаружит кристалл и начнёт им пользоваться.
Рекомендуем включить настройку '''Set Current Time''' в настройках [[IDE Espruino]] (нажмите на иконку с шестерёнкой справа вверху, а затем на '''Communications''' – пункт '''Set Current Time''' должен быть в самом низу). Теперь, когда вы будете загружать код, на устройстве будет автоматически задаваться правильное время (и часовой пояс), а new Date() будет возвращать объект [http://www.espruino.com/Reference#Date Date], с помощью которого можно будет узнать текущее время.
Чтобы задать время вручную, просто воспользуйтесь функцией setTime() и задайте там количество секунд, прошедших с [[1970 год]]а.
Кроме того, можно воспользоваться модулем [https://www.espruino.com/clock clock], который будет отслеживать время независимо от системного времени.


=См.также=
=См.также=

Версия от 11:50, 6 марта 2021

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Часы реального времени на базе 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.

[Картинка]

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

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

[Картинка]

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

[Картинка]

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

Espruino Pico

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

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

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

Код

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

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

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

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

См.также

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