Есть ли способ перенести дату и время моего MacBook в Arduino IDE?

Я использую модуль часов реального времени DS3231. Требуется устанавливать время каждый раз при его сбросе. Мне было интересно, смогу ли я прочитать время и дату моего MacBook и передать их в модуль на этапе настройки. Возможно ли это?

PS Мне не обязательно использовать батарею.

, 👍0

Обсуждение

На самом деле весь смысл RTC заключается в том, что у него есть часы с резервным питанием от батареи, которые НЕ сбрасываются при отключении питания., @Kwasmich

Да. Но по какой-то причине у меня RTC без резервной батареи. Сегодня я сам открыл упаковку Amazon и распаковал модуль. А на нижней стороне нет аккумулятора., @Nimish Mishra

Итак....присоединить батарею?, @Majenko

без батареи вам не нужен модуль RTC. вы можете использовать TimeLib, @Juraj

Обратите внимание, что некоторые из этих модулей имеют (плохо спроектированную) схему зарядки и, следовательно, требуют перезаряжаемой батарейки типа «таблетка» (LIR2032). Или можно снять зарядный резистор с платы., @Gerben

Что я буду делать с одними из своих часов, если создам интерактивную последовательную консоль, где я смогу ввести текущее время, когда код увидит, что RTC сброшен. Невозможно получить время с USB-хоста без какого-либо программного обеспечения, работающего на хосте, или, как я, без какого-либо ручного ввода последовательных данных., @Gerben


2 ответа


Лучший ответ:

1

Вы можете использовать константы времени компилятора __DATE__ и __TIME__ в IDE и проверять внутри функции setup(), есть ли часы RTC обнуляется, затем анализируется и устанавливает значения времени компиляции.

char cr[] = __DATE__;
char ct[] = __TIME__;

Во время компиляции эти макросы будут заменены текстовыми константами "4 апреля 2019" и "10:35:22" соответственно.

,

-1

Вы можете использовать библиотеку softRTC для получения даты/времени из вашей системы. Таким образом, поток программы может быть получен из библиотеки softRTC во время установки, а затем использовать эти переменные в цикле, чтобы установить ваш DS2321 RTC, который всегда будет работать до тех пор, пока вы не выключите питание.

,

softRTC полагается на препроцессор. Поэтому каждый раз, когда вы захотите установить время, вам придется открывать ArduinoIDE и скомпилировать+загрузить скетч. В одиночку это не сработает. Кроме того, Atmel гарантирует только 10 000 циклов записи при загрузке кода., @Kwasmich

Я не могу найти библиотеку softRTC. как решается вопрос использования DS3231 без аккумулятора?, @Juraj