ProjectE (Equivalent Exchange 2) — трансмутация веществ [1.18.2] [1.16.5] [1.15.2] [1.14.4] [1.12.2] [1.8.9] [1.7.10]
![ProjectE (Equivalent Exchange 2) - трансмутация веществ [1.18.2] [1.16.5] [1.15.2] [1.14.4] [1.12.2] [1.8.9] [1.7.10]](https://ru-minecraft.ru/uploads/posts/2021-10/medium/1633096949_projecte-minecraft-mod.jpg)
Мод ProjectE — это реинкарнация мода EE2! ( Equivalent Exchange 2 и он добавляет в майнкрафт возможности по трансмутации веществ, это позволит вам преобразовывать одни ресурсы в другие, а результатом таких трансмутаций будут могущественные артефакты, кольца, оружие, инструмент, новые виды брони с исключительными свойствами.
Трансмутация осуществляется через специальный стол (стол трансмутации) или при помощи философского камня. Мод достаточно простой, но интересный и позволит вам получать крутые ресурсы более простым способом, массово изменять карту и просто развлекаться. Основной механикой мода я вляется энергия EMC, каждый блок или предмет имеет эту саму энергию и её можно получить если сжечь этот предмет. Чем ценнее предмет, тем большее количество EMC он в себе содержит, после сжигания ваш стол будет накапливать эту энергию, а вы сможете обратно поменять энергию EMC на этот же самый предмет.
После сжигания или изучения блока\предмета вы сможете сжечь стак камня за 64 EMC и получить зелье урона потратив на него 59 EMC. Таким образом вы сможете утилизировать ненужные предметы и получать более редкие или необходимые. Философский камень это инструмент который позволяет преобразовывать 1 конкретный предмет или блок в другой конкретный предмет или блок, все крафты его работы можно посмотреть при помощи JEI, так же философский камень позволяет изменять уже установленные блоки, при этом имеет несколько режимов работы, преобразуя сразу много блоков. Еще философский камень позволяет изменять мобов, стреляете в одного моба снарядом и он превращается в другого.
Мод не останавливается на трансмутации блоков и предметов, вы сможете создать супер эффективные виды топлива и специальные печи с невероятной производительности, сможете вырабатывать EMC из солнца, а результатом развития в моде будут крутые артефакты, мощные инструменты и броня. Магические кольца которые отталкивают, автоматически убивают мобов, замораживают или поджигают итд. Броня позволяет видеть ночью и дышать под водой, да даже летать. Специальные инструменты моментально трансформируют карту, позволяют за несколько секунд убрать гору или сделать огромный туннель.
8 обязательных модов Project Zomboid
В Project Zomboid перед вами стоит одна простая задача — выжить как можно дольше. Project Zomboid с большим количеством различных предметов, локаций и механик предлагает глубокий опыт выживания в ролевой игре. При этом Project Zomboid все еще находится в разработке. Игра была в раннем доступе в Steam в течение многих лет (и существовала до этого), поэтому все еще часто добавляются функции. К счастью, разработчики также позволяют моддерам создавать свои собственные моды для игры. Разработчики рады видеть, что сообщество работает над их собственными идеями и даже время от времени публикует моды в своих блогах о разработке.
Сегодня я собираюсь перечислить 8 лучших модов, которые я могу найти, чтобы оживить ваше следующее прохождение в Project Zomboid. Эти моды будут в основном сосредоточены на изменениях игрового процесса и механике. Все моды из этого списка будут доступны в Мастерской Steam. Я буду включать ссылки на каждый мод. Я постараюсь изо всех сил не включать карты, в частности, в эту статью, но если вы хотите попробовать новые карты в игре, вы можете прочитать этот пост о 5 самых популярных модификациях карт в Project Zomboid. Без лишних слов, давайте посмотрим на мои 8 лучших модов, которые стоит попробовать.
Мод 1. Гидроцикл.
Давай, мы все это предвидели. Если вы какое-то время играли в Project Zomboid, скорее всего, вы уже слышали о Hydrocraft — это, по сути, самый крупный мод для Project Zomboid с точки зрения содержания. Мод добавляет безумное количество предметов. Не просто добавляет кучу новых предметов, но, как следует из названия, ТОННУ новых рецептов крафта.
Единственным недостатком Hydrocraft на данный момент является то, что мод сделан для стабильной версии игры. Это означает, что тем, кто играет в бета-версию Build 41, придется вернуться к стабильной сборке, чтобы испытать «плавную» игру.
Лично я бы сказал, если вы не играли слишком много в Project Zomboid, просто чтобы какое-то время придерживаться ванильной игры. Hydrocraft добавляет много (я имею в виду много) новых предметов.
Мод 2. Модификация глушителя
Следующий мод будет для стелс-билдов. Если вы когда-либо использовали оружие в Project Zomboid, вы, вероятно, понимаете, насколько важным может быть этот мод. Большинство игроков скажут вам почти никогда не использовать оружие, так как даже если вы можете уничтожать зомби безопаснее и эффективнее, скорее всего, вы намного больше предупредите о своей позиции.
Мод подавителя nolanritchie призван изменить это. Благодаря способности находить и устанавливать тишины для базового оружия в игре, вы сделаете стрельбу намного более жизнеспособной. Как объясняется в описании мода, использование глушителя на оружии имеет недостаток. Во-первых, вам понадобится отвертка, чтобы устанавливать и снимать насадки для оружия. В этом нет ничего нового, так как в ванильной игре требуется то же самое.
Одним из реальных недостатков является то, что наличие глушителя, прикрепленного к вашему оружию, сделает его менее точным. Это также отрицательно повлияет на дальность действия оружия. Тем не менее, это может быть огромным плюсом для вашей игры, если вы чувствуете, что у вас действительно не было возможности опробовать оружие из-за фактора шума.
Мод 3. ORGM
Первоначально созданный моддером по имени ORMtnMan , ORGM «добавляет множество оружия, боеприпасов, модов и механики» в Project Zomboid. Это еще один мод , который не будет доступен для использования на бета — версии сборки 41 пока . Эта версия мода все еще находится в активной разработке. ORGM переходил из рук в руки в общей сложности три раза с тех пор, как моддер Фенрис Вольф принял проект от ORMtnMan .
Это добавит в вашу игру кучу нового оружия. Этот действительно отлично подходит для любителей оружия. Кроме того, игроки, которые действительно хотят сосредоточиться на прохождении оружия, но обнаружили, что в основной игре не хватает контента. ORGM добавит в игру огромное количество нового оружия (и боеприпасов).
Мод 4. eris_minimap
eris_minimap добавляет в игру небольшую приятную функцию качества жизни. Многим игрокам нравится иметь миникарту, которая помогает им ориентироваться в мире в игре. Project Zomboid — хардкорная игра на выживание, которая продается без мини-карты.
При этом можно легко заблудиться в округе Нокс, если вы плохо запоминаете большие конструкции или особенности. Мод мини-карты также работает с текущей бета-версией игры (сборка 41). Мод также поддерживает многопользовательскую игру. Если вы играете на общем экране, у вас обоих будет одна миникарта. Если вы играете в многопользовательскую онлайн-игру, вы сможете видеть других игроков, дружелюбных к вашей фракции.
Честно говоря, об этом особо нечего и говорить. Это миникарта, и она отлично работает в игре. На самом деле это не разбалансирует игру, это просто приятная маленькая функция, которая поможет вам обойти и найти других.
Мод 5. Превосходные выжившие!
Одна из наиболее востребованных функций Project Zomboid — это включение NPC. То есть NPC, которые не пытаются съесть игрока. Я уже говорил о Superb Survivors в предыдущем посте , но решил, что он заслуживает отдельного места в этом списке. Превосходные выжившие! это обновленная версия Super Survivors! и меняет некоторые способы поведения NPC по сравнению с этой версией. Эта версия мода также совместима с версией игры Build 41.
лично поиграв в этот мод, могу сказать, что он работает очень хорошо. В игре бродят и другие выжившие, включая группы (с охраной), которые попытаются защитить свою территорию в случае нападения. Большинство нейтральных NPC можно нанять и поручить им такие работы, как рубка деревьев и приготовление еды. При этом они не все дружелюбны … В моде есть группы рейдеров, которые могут просто задержать вас под дулом пистолета, если вы подойдете слишком близко.
Мод 6. Отображение здоровья зомби
Display Zombie Health — еще один мод с довольно простым названием. Как вы понимаете, мод добавляет шкалу здоровья над каждым из ваших врагов-нежитью в игре. Это даст вам лучшее представление о том, на кого нацеливаться, чтобы проредить стадо. Мод на самом деле никоим образом не меняет принцип работы игры. Это просто даст вам больше информации о том, сколько ударов получит каждый зомби, чтобы быть побежденным.
Одна из причин, по которой он мне очень нравится, заключается в том, что он дает вам хорошее представление о том, как развиваются ваши навыки владения оружием. Когда вы получаете дополнительный уровень в коротком тупике и видите, что 1 дополнительный HP удаляется за удар, это немного удовлетворяет. Мод также был обновлен для сборки 41, так что вы можете продолжать играть, видеть здоровье и повреждения во время тренировки!
Мод 7. Подержанные автомобили Filibuster Rhymes!
Подержанные автомобили Флибустьера Рифмы! добавляет кучу новых транспортных средств в базовую игру Project Zomboid. Если вы, как и я, большой поклонник механики транспортных средств в игре, вы оцените их разнообразие. Этот мод не только добавляет множество обычных подержанных автомобилей, но также специальные транспортные средства, такие как движущиеся грузовики и сельскохозяйственные машины.
Еще одна замечательная особенность мода заключается в том, что существует версия для игры 40, а также сборка 41. Вам не нужно менять версию игры, чтобы играть в мод, просто скачайте мод, совместимый с вашей версией. Добавленные автомобили действительно вызывают у меня желание выйти и исследовать и найти свой новый фаворит. В моде есть даже рабочий бензовоз.
Мод 8. Лом оружие!
Последний, но не менее важный мод в этом списке — Scrap Weapons! Один из самых креативных модов, Scrap Weapons! позволяет выжившему создавать много нового оружия. Большая часть оружия сделана из случайного другого оружия или металлолома, который вы обычно не используете.
В этом моде вам сначала нужно будет создать верстак для металлолома, а затем вы сможете изготавливать оружие, показанное в моде. Добавлено множество нового оружия, большая часть которого создана из уже существующего в игре оружия. Взгляните на сломанное оружие и пополните свой арсенал!
Это конец нашего списка из 8 модов, которые можно попробовать в Project Zomboid. У вас есть любимый мод, который, по вашему мнению, заслужил место в списке?
Arduino Mega Server и часы реального времени

В этой статье вы узнаете как Arduino Mega Server работает со временем и как можно создавать проекты на Ардуино, которые имеют привязку к реальному времени, вне зависимости от того, установлен ли в них «железный» RTC-модуль или нет. Все вопросы работы с реальным временем на Ардуино будут подробно разобраны и после прочтения этой статьи вы станете настоящим «мастером часовых дел».
Суть вопроса
Любой мало-мальски серьёзный проект на Ардуино должен иметь представление о текущем реальном времени. Например, показания датчиков должны быть привязаны ко времени (иначе никакой статистики и даже элементарных графиков невозможно будет построить), контроллер должен производить те или иные действия в зависимости от текущего времени суток, выходных, праздников и т. д. Если ваш контроллер не имеет представления о реальном времени, то он превращается в простой автомат, который может производить только элементарные действия по жёстко заданной программе.
Поскольку Arduino Mega Server это мощная и развитая система, то такое положение дел (отсутствие работы с реальным временем) меня, да и всех остальных пользователей системы, никак не могло устроить. Поэтому вопрос интеграции в систему RTC был одним из первых на повестке дня.
Виртуальные часы реального времени
Всё бы ничего, но ни у меня, ни у большинства пользователей AMS не было того самого «железного» модуля RTC, поэтому было принято решение сделать «ход конём» и, в качестве временной меры, организовать часы реального времени, работающие внутри системы, без настоящего физического модуля. Что и было с успехом реализовано.
Итак, как организовать виртуальный RTC, без настоящего модуля. Существует замечательная библиотека Time Library которая и выполняет львиную долю работы по обеспечению нас точным временем. Для начала работы с ней, её нужно скачать, разархивировать и поместить на стандартное место всех библиотек среды Arduino, а именно, в папку:
После этого нам становятся доступны все возможности работы со временем, которые она предоставляет.
Как это работает
Принцип очень простой. Библиотека «запускает» виртуальные часы «внутри» контроллера и предоставляет возможность синхронизировать их множеством способов, на выбор. Вы можете выбрать тот способ, который вам больше подходит. Поскольку Arduino Mega Server это сетевое устройство, то был выбран вариант синхронизации часов через сеть с серверами точного времени. Это могут быть сервера в Интернет или сервера в локальной сети, на которых работает соответствующая служба. Например, в базовом варианте AMS часы синхронизируются с сервером MajorDoMo, и для этого ничего настраивать не нужно, всё работает «из коробки».
Итак, для того, чтобы это заработало, нужно в начале скетча подключить соответствующие библиотеки.
Файл Time.h это собственно библиотека для работы со временем, а остальные файлы необходимы для работы с сетью и для синхронизации времени по протоколу NTP (библиотека Ethernet тоже должна быть у вас установлена).
Далее, вам нужно указать IP-адрес сервера, с которым вы хотите синхронизировать время
и соответствующий порт
но тут есть один момент: порт 8888 подходит для синхронизации в локальной сети, а в Интернет большинство серверов по нему не отвечает, поэтому, если вы планируете синхронизировать время с серверами точного времени в Интернет, то лучше установить порт 123:
осталось только указать временную зону
и создать объект EthernetUDP
На этом подготовительные операции можно считать законченными и можно описывать нужную вам функциональность работы со временем. Функция инициализации:
Здесь нужно обратить внимание на функцию
Эта функция устанавливает источник синхронизации времени (в данном случае это NTP синхронизация через сеть). Но это может быль любой другой источник, например, физический модуль RTC. Выполнение этой функции приводит к установке источника синхронизации (на будущее) и, одновременно, к самой синхронизации времени через этот источник. Именно в момент выполнения этой функции у вас в системе «появляется» точное время.
В самой библиотеке есть ещё одна интересная функция,
которая позволяет задать нужный интервал между синхронизациями (задаётся в секундах, сами синхронизации происходят автоматически, без какого-либо участия с вашей стороны).

Теперь вы можете пользоваться точным временем внутри скетча Ардуино, например, выводить в Serial монитор события не просто, а привязанными к конкретному точному времени. Делается это при помощи функции timeStamp():
которая является обёрткой для функции serialRTC():
Разбор механизма передачи и отображения времени в веб-интерфейсе AMS выходит за рамки данного повествования и достоин отдельной статьи и, если будет интерес, то можно будет написать продолжение и во всех подробностях объяснить, как происходит «магия» отображения времени в веб-интерфейсе Arduino Mega Server.

Собственно, всё. Так были организованы виртуальные часы реального времени в AMS вплоть до 0.12 версии включительно и так же вы можете организовать работу с точным временем в своих проектах, даже если у вас нет физического модуля часов реального времени. Но это ещё не конец истории, а скорее, только начало.
/*
Modul Virtual RTC
part of Arduino Mega Server project
*/
IPAddress timeServer(192, 168, 2, 8);
unsigned int localPort = 8888; // local port to listen for UDP packets
EthernetUDP Udp;
const int timeZone = 4;
time_t prevDisplay = 0; // when the digital clock was displayed
void rtcInit() <
Udp.begin(localPort);
Serialprint(«Waiting for NTP sync… \n»);
setSyncProvider(getNtpTime);
modulRtc = 1;
>
void rtcWorks() <
if (timeStatus() != timeNotSet) <
if (now() != prevDisplay) < // update the display only if time has changed
setLifer();
prevDisplay = now();
//digitalClockDisplay();
>
>
>
void printDigits(int digits) <
if(digits < 10) <
Serial.print(‘0’);
>
Serial.print(digits);
>
void serialRTC() <
Serial.print(year());
Serial.print(«-«);
printDigits(month());
Serial.print(«-«);
printDigits(day());
Serial.print(» «);
printDigits(hour());
Serial.print(«:»);
printDigits(minute());
Serial.print(«:»);
printDigits(second());
>
void timeStamp() <
serialRTC();
Serial.print(» «);
>
void printRTC() <
serialRTC();
Serial.println();
>
const int NTP_PACKET_SIZE = 48; // NTP time is in the first 48 bytes of message
byte packetBuffer[NTP_PACKET_SIZE]; //buffer to hold incoming & outgoing packets
time_t getNtpTime() <
while (Udp.parsePacket() > 0); // discard any previously received packets
Serialprint(«Transmit NTP request\n»);
sendNTPpacket(timeServer);
uint32_t beginWait = millis();
while (millis() — beginWait < 1500) <
int size = Udp.parsePacket();
if (size >= NTP_PACKET_SIZE) <
Serialprint(«Receive NTP response\n»);
Udp.read(packetBuffer, NTP_PACKET_SIZE); // read packet into the buffer
unsigned long secsSince1900;
// convert four bytes starting at location 40 to a long integer
secsSince1900 = (unsigned long)packetBuffer[40] << 24;
secsSince1900 |= (unsigned long)packetBuffer[41] << 16;
secsSince1900 |= (unsigned long)packetBuffer[42] << 8;
secsSince1900 |= (unsigned long)packetBuffer[43];
return secsSince1900 — 2208988800UL + timeZone * SECS_PER_HOUR;
>
>
Serialprint(«No NTP response\n»);
return 0; // return 0 if unable to get the time
>
// send an NTP request to the time server at the given address
void sendNTPpacket(IPAddress &address) <
// set all bytes in the buffer to 0
memset(packetBuffer, 0, NTP_PACKET_SIZE);
// Initialize values needed to form NTP request
// (see URL above for details on the packets)
packetBuffer[0] = 0b11100011; // LI, Version, Mode
packetBuffer[1] = 0; // Stratum, or type of clock
packetBuffer[2] = 6; // Polling Interval
packetBuffer[3] = 0xEC; // Peer Clock Precision
// 8 bytes of zero for Root Delay & Root Dispersion
packetBuffer[12] = 49;
packetBuffer[13] = 0x4E;
packetBuffer[14] = 49;
packetBuffer[15] = 52;
// all NTP fields have been given values, now
// you can send a packet requesting a timestamp:
Udp.beginPacket(address, 123); //NTP requests are to port 123
Udp.write(packetBuffer, NTP_PACKET_SIZE);
Udp.endPacket();
>
void showDuration(time_t duration) <
// prints the duration in days, hours, minutes and seconds
Serialprint(» (duration «);
if(duration >= SECS_PER_DAY) <
Serial.print(duration / SECS_PER_DAY);
Serialprint(» day «);
duration = duration % SECS_PER_DAY;
>
if(duration >= SECS_PER_HOUR) <
Serial.print(duration / SECS_PER_HOUR);
Serialprint(» hour «);
duration = duration % SECS_PER_HOUR;
>
if(duration >= SECS_PER_MIN) <
Serial.print(duration / SECS_PER_MIN);
Serialprint(» min «);
duration = duration % SECS_PER_MIN;
>
Serial.print(duration);
Serialprint(» sec) \n»);
>
void checkEvent(time_t* prevEvent) <
time_t duration = 0;
time_t timeNow = now();
if (*prevEvent > 0) <
duration = timeNow — *prevEvent;
>
if (duration > 0) <
showDuration(duration);
>
*prevEvent = timeNow;
>
Приятная неожиданность
Я бы ещё долго не занялся интеграцией модулей RTC в систему (хватает и других актуальных задач), но тут, в рамках технологического сотрудничества с нашим проектом, компания CHIPSTER предоставила для тестирования и интеграции в AMS оборудование, среди которого оказались Ethernet модули на чипе W5500 и… модуль часов реального времени на чипе DS3231, что оказалось как нельзя более кстати и послужило толчком для интеграции модулей RTC в систему.
Оказалось, что компания CHIPSTER не только торгует электронным оборудованием, но и разрабатывает собственные изделия для Arduino и автоматизации под торговой маркой Geegrow и имеет большие планы на будущее в этом направлении, в частности, у неё есть проект по выпуску специализированной версии Arduino Mega 2560 с расширенными возможностями и «заточенной» специально под Arduino Mega Server. И, если эта плата будет выпущена, то это будет очень интересное событие. Но вернёмся к часам реального времени.
Реальные часы реального времени
Поскольку модуль RTC оказался у меня под руками, то грех было бы не интегрировать его в систему. Благо это оказалось совсем несложно благодаря всё той же Time Library. Но обо всём по порядку.
Для тех, кто не знает, модули реального времени бывают двух типов — «обычные» (как правило, на чипе DS1307) и «продвинутые» (на чипе DS3231, который мне и достался). Разница между ними заключается в том, что первые не очень точные и могут «убегать» очень быстро и очень сильно, а вторые это высокоточные часы с нормированным уходом не более двух минут в год, то есть реально применимые на практике. А точность достигается благодаря более сложной схемной реализации и встроенной термокомпенсации.
Но программно обе версии модулей совместимы и работать с библиотекой и кодом будут и те и другие. Разница будет только в точности хода.
И конечно, одним из главных свойств часов реального времени является возможность работы при отключении напряжения питания, за счёт встроенной батарейки.
Физическое подключение
Теперь давайте поговорим о том, как физически подключить модуль RTC к Arduino Mega Server или к вашему проекту на Ардуино. Сразу скажу, что это очень просто и вам понадобятся всего два резистора и несколько проводов.
Подключение тривиально: вам нужно найти на своём модуле четыре контакта — GND («земля»), VCC (напряжение питания), SCL (синхросигнал), SDA (данные). Остальные контакты используются в редких и специфических случаях и вы на них можете не обращать внимания.

Итак, вывод GND подключаем к «земле», вывод VCC — к напряжению питания контроллера. Здесь всё просто и никаких вопросов возникать не должно.
С остальными выводами дело обстоит ненамного сложнее. Модуль RTC общается с контроллером по интерфейсу I2C, у которого всего два провода: синхронизация и данные и в контроллерах Arduino уже предусмотрены контакты для подключения этого интерфейса. У Arduino Uno это A4 (SDA) и A5 (SCL), а у arduino Mega это D20 (SDA) и D21 (SCL).
Единственная тонкость заключается в том, что выводы SCL и SDA нужно «подтянуть» к источнику питания через резисторы 4,7 КОм. Если у вас нет точно такого номинала, то можно использовать резисторы из диапазона 2 КОм — 10 КОм.

Программная поддержка
Теперь осталось только дописать поддержку модуля в коде AMS или вашего проекта. Как я уже сказал, это будет очень просто потому, что с модулем будет работать всё та же библиотека Time Library. Правда нам нужно будет добавить ещё одну библиотеку, а именно DS1307RTC Library. Её тоже распаковываем и помещаем в стандартную папку для библиотек:
Добавляем в код вашего скетча следующие строки
Теперь мы во всеоружии и можем приступать к написанию кода самого скетча, работающего с физическим модулем RTC. В функции
и внутреннее время Arduino Mega Server (или вашего контроллера) будет синхронизироваться с «железным» контроллером RTC, а не с серверами в Интернет или локальной сети. Таким образом, вызывая функции setSyncProvider(getNtpTime) и setSyncProvider(RTC.get) вы можете манипулировать источниками синхронизации времени и синхронизировать время так, как вам будет угодно, в зависимости от различных условий.
Ещё одна функция, о которой вам необходимо знать, это
которая позволяет узнать синхронизировано ли время и в зависимости от данного условия предпринять нужные действия.
Тонкий момент
Нужно различать две вещи: время, идущее в «железном» модуле RTC и время, идущее в вашем контроллере. Это не одно и то же. «Главным» для вас является время в контроллере, а время в модуле является лишь источником для синхронизации.
Но! поскольку время в физическом RTC тоже постепенно «уходит», то его тоже нужно подстраивать, синхронизируя с более точными источниками, например, с серверами в Интернет.
Поэтому, оптимальный алгоритм должен быть такой: если есть возможность, то синхронизируем все часы с серверами в Интернет, если сеть недоступна, то начинаем синхронизировать время в контроллере с модулем RTC, как только появляется сеть — переходим опять на синхронизацию через Интернет.
Если вы находитесь в экстремальных условиях, без доступа к каким-либо источникам синхронизации, то можно вручную время от времени корректировать ход «железных» часов.
Давайте, для примера, рассмотрим функцию синхронизации внутренних часов контроллера и модуля RTC через сеть:
Здесь мы сначала получаем точное время по сети
затем, в случае удачи, устанавливаем его в модуль RTC
а затем уже из этого модуля устанавливаем время контроллера
Начальный запуск
Но и это ещё не всё. Существует ещё проблема начального запуска, когда модуль RTC только подключён, но время в нём не выставлено и синхронизироваться с ним поэтому нельзя. Нужно каким-то образом выставить в нём правильное время. В Arduino Mega Server существует два способа решения этой проблемы: можно синхронизировать физический RTC через сеть (если доступны сервера точного времени) или при помощи утилиты Arduino Serial Commander.
Для установки времени в модуле RTC достаточно… нажать на кнопку. Всё остальное сделают за вас два молодца по имени Arduino Mega Server и Arduino Serial Commander. Если вы не пользуетесь AMS, а разрабатываете свой собственный проект, можете взять код из дистрибутива Arduino Mega Server (код доступен и полностью свободен) или поискать решение этой проблемы в Интернет (там есть несколько вариантов решения).

Версия с поддержкой настоящего RTC
Arduino Mega Server, начиная с версии 0.13, поддерживает «железный» RTC. Скачать последнюю актуальную версию вы можете с официального сайта проекта, а задать возникшие вопросы можно на форуме.
И, конечно, я выражаю признательность компании CHIPSTER за сотрудничество и предоставленное для тестирования и интеграции оборудование (о модуле W5500 и о ускорении сетевой работы AMS я расскажу вам в одной из следующих статей).
Дополнение. Открыт канал на Youtube и вот промо ролик Arduino Mega Server, который демонстрирует работу с реальной системой.