Есть ли способ перенести дату и время моего MacBook в Arduino IDE?
Я использую модуль часов реального времени DS3231. Требуется устанавливать время каждый раз при его сбросе. Мне было интересно, смогу ли я прочитать время и дату моего MacBook и передать их в модуль на этапе настройки. Возможно ли это?
PS Мне не обязательно использовать батарею.
@Nimish Mishra, 👍0
Обсуждение2 ответа
Лучший ответ:
Вы можете использовать константы времени компилятора __DATE__
и __TIME__
в IDE и проверять внутри функции setup()
, есть ли часы RTC обнуляется, затем анализируется и устанавливает значения времени компиляции.
char cr[] = __DATE__;
char ct[] = __TIME__;
Во время компиляции эти макросы будут заменены текстовыми константами "4 апреля 2019"
и "10:35:22"
соответственно.
Вы можете использовать библиотеку softRTC для получения даты/времени из вашей системы. Таким образом, поток программы может быть получен из библиотеки softRTC во время установки, а затем использовать эти переменные в цикле, чтобы установить ваш DS2321 RTC, который всегда будет работать до тех пор, пока вы не выключите питание.
softRTC полагается на препроцессор. Поэтому каждый раз, когда вы захотите установить время, вам придется открывать ArduinoIDE и скомпилировать+загрузить скетч. В одиночку это не сработает. Кроме того, Atmel гарантирует только 10 000 циклов записи при загрузке кода., @Kwasmich
Я не могу найти библиотеку softRTC. как решается вопрос использования DS3231 без аккумулятора?, @Juraj
- Преобразование в Unix Timestamp и обратно
- Разница между «time_t» и «DateTime»
- Библиотека времени Arduino и библиотеки RTC
- RTC и SD работают отдельно, а не вместе
- Как найти разницу между двумя timestamp
- Возникла проблема с переобъявлением символа другого типа
- Как установить RTC в ES32 с помощью NTP-сервера?
- Nextion Display не получает обновленных данных
На самом деле весь смысл RTC заключается в том, что у него есть часы с резервным питанием от батареи, которые НЕ сбрасываются при отключении питания., @Kwasmich
Да. Но по какой-то причине у меня RTC без резервной батареи. Сегодня я сам открыл упаковку Amazon и распаковал модуль. А на нижней стороне нет аккумулятора., @Nimish Mishra
Итак....присоединить батарею?, @Majenko
без батареи вам не нужен модуль RTC. вы можете использовать TimeLib, @Juraj
Обратите внимание, что некоторые из этих модулей имеют (плохо спроектированную) схему зарядки и, следовательно, требуют перезаряжаемой батарейки типа «таблетка» (LIR2032). Или можно снять зарядный резистор с платы., @Gerben
Что я буду делать с одними из своих часов, если создам интерактивную последовательную консоль, где я смогу ввести текущее время, когда код увидит, что RTC сброшен. Невозможно получить время с USB-хоста без какого-либо программного обеспечения, работающего на хосте, или, как я, без какого-либо ручного ввода последовательных данных., @Gerben