Espruino:Примеры/Часы реального времени на базе Espruino: различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[ www.espruino.com - ]</ref>= <syntaxhighligh...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=<ref>[ www.espruino.com - ]</ref>= | =Часы реального времени на базе Espruino<ref>[https://www.espruino.com/Clocks www.espruino.com - Espruino's Real Time Clock]</ref>= | ||
Некоторым проектам требуется знать текущее время – это могут быть, например, часы или запись данных через определенные промежутки времени. | |||
Все Espruino-платы оснащены собственными часами реального времени, с помощью которых они могут отсчитывать время, даже находясь в энергосберегающем режиме глубокого сна. Но в зависимости от платы точность этих часов может сильно варьироваться: | |||
{| style="border-spacing:0;width:14.843cm;" | |||
|- style="border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;" | |||
|| '''Плата''' | |||
|| '''Генератор''' | |||
|| '''Точность''' | |||
|- style="border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;" | |||
|| Espruino [https://www.espruino.com/Original Original] 1v4+ | |||
|| Внешний кристалл | |||
|| Хорошая | |||
|- style="border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;" | |||
|| Espruino [https://www.espruino.com/Original Original] 1v3 | |||
|| Внутренние часы | |||
|| 1% | |||
|- style="border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;" | |||
|| Espruino [https://www.espruino.com/Pico Pico] | |||
|| Внутренние часы | |||
|| 10% | |||
|- style="border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;" | |||
|| Espruino [https://www.espruino.com/WiFi WiFi] | |||
|| Внешний кристалл | |||
|| Хорошая | |||
|- style="border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;" | |||
|| [https://www.espruino.com/Puck.js Puck.js] | |||
|| Внутренние часы с калибровкой | |||
|| Хорошая | |||
|- style="border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;" | |||
|| [https://www.espruino.com/Pixl.js Pixl.js] | |||
|| Внутренние часы с калибровкой | |||
|| Хорошая | |||
|- style="border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;" | |||
|| [https://www.espruino.com/MDBT42Q MDBT42Q] | |||
|| Внутренние часы с калибровкой | |||
|| Хорошая | |||
|- style="border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;" | |||
|| [https://www.espruino.com/Bangle.js Bangle.js] | |||
|| Внутренние часы с калибровкой | |||
|| Хорошая | |||
|- | |||
|} | |||
Если у вас Espruino Original или Pico без кристалла, то вы можете установить его сами (см. ниже). | |||
'''Примечание:''' Вы можете просто воспользоваться внешним модулем вроде [https://www.espruino.com/DS3231 DS3231]. | |||
==Установка кристалла'''== | |||
=== Espruino Original === | |||
'''Примечание:''' Espruino [https://www.espruino.com/Original<nowiki>#</nowiki>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 должен быть в самом низу). Теперь, когда вы будете загружать код, на устройстве будет автоматически задаваться правильное время (и часовой пояс), а <span style="color:#808080;">new</span><span style="color:#808080;"> </span><span style="color:#808080;">Date</span><span style="color:#808080;">()</span> будет возвращать объект [http://www.espruino.com/Reference<nowiki>#</nowiki>Date <span style="color:#808080;">Date</span>], с помощью которого можно будет узнать текущее время. | |||
Чтобы задать время вручную, просто воспользуйтесь функцией <span style="color:#808080;">setTime</span><span style="color:#808080;">()</span> и задайте там количество секунд, прошедших с <span style="background-color:#00ff00;">1970 года.</span> | |||
Кроме того, можно воспользоваться модулем [https://www.espruino.com/clock <span style="color:#808080;">clock</span>], который будет отслеживать время независимо от системного времени. | |||
<syntaxhighlight lang="html5" enclose="div"> | <syntaxhighlight lang="html5" enclose="div"> |
Версия от 11:43, 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 #layout 1.4 уже оснащена низкоскоростным генератором импульсов. Установка кристалла может понадобиться только для версии 1.3.
[Картинка]
Кристалл можно купить практически у любого поставщика электронных компонентов. Например:* Farnell
Вам нужен компонент, выглядящий примерно как на картинке выше: длиной примерно 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() будет возвращать объект #Date Date, с помощью которого можно будет узнать текущее время.
Чтобы задать время вручную, просто воспользуйтесь функцией setTime() и задайте там количество секунд, прошедших с 1970 года.
Кроме того, можно воспользоваться модулем clock, который будет отслеживать время независимо от системного времени.
<syntaxhighlight lang="html5" enclose="div">
См.также
Внешние ссылки