DS3231 не может вести учет времени
поэтому я купил часы DS3231, которые использую в этой знаменитой библиотеке .
// DS3231_Serial_Easy
// Copyright (C)2015 Rinky-Dink Electronics, Хеннинг Карлсен. Все права защищены
// web: http://www.RinkyDinkElectronics.com/
//
// Быстрая демонстрация того, как использовать мою DS3231-библиотеку для
// быстрая отправка информации о времени и дате по последовательному каналу связи
//
// Для использования аппаратного интерфейса I2C (TWI) Arduino необходимо подключить
// выводы следующим образом:
//
// Arduino Uno/2009:
// ----------------------
// DS3231: вывод SDA - > Arduino Analog 4 или выделенный вывод SDA
// SCL pin -> Arduino Analog 5 или выделенный SCL pin
//
// Arduino Leonardo:
// ----------------------
// DS3231: вывод SDA - > Arduino Digital 2 или специальный вывод SDA
// SCL pin -> Arduino Digital 3 или выделенный SCL pin
//
// Arduino Mega:
// ----------------------
// DS3231: вывод SDA - > Arduino Digital 20 (SDA) или специальный вывод SDA
// SCL pin -> Arduino Digital 21 (SCL) или выделенный SCL pin
//
// Arduino Due:
// ----------------------
// DS3231: SDA pin -> Arduino Digital 20 (SDA) или выделенный SDA1 (Digital 70) pin
#include <DS3231.h>
// Инициализация DS3231 с помощью аппаратного интерфейса
DS3231 rtc(SDA, SCL);
void setup()
{
// Настройка последовательного подключения
Serial.begin(9600);
// Раскомментируйте следующую строку, если вы используете Arduino Leonardo
//while (!Serial) {}
// Инициализировать объект rtc
rtc.begin();
// Следующие строки могут быть раскомментированы для установки даты и времени
//rtc.setDOW(СРЕДА); // Установить День недели на ВОСКРЕСЕНЬЕ
//rtc.setTime(12, 0, 0); // Установите время на 12:00:00 (24-часовой формат).
//rtc.setDate(1, 1, 2014); // Установите дату на 1 января 2014 года
}
void loop()
{
// Отправить День недели
Serial.print(rtc.getDOWStr());
Serial.print(" ");
// Дата отправки
Serial.print(rtc.getDateStr());
Serial.print(" -- ");
// Время отправки
Serial.println(rtc.getTimeStr());
// Подождите одну секунду, прежде чем повторить :)
delay (1000);
}
Теперь проблема в том, что после того, как я установил время, оно отлично показывает время и дату, пока я не отключу питание DS3231. будучи подключенным к моему компьютеру, когда я отключил питание DS3231, я вижу, что таймер сбрасывается, в то время как он должен был записать и продолжить таймер. Он выводит "Понедельник 1.1.2021 0.0.0".
Это проблема моего модуля? или я делаю здесь какую-то ошибку? или модуль работает именно так?
всякий раз, когда я отключаю питание arduino от ПК, он все еще продолжает считать, но всякий раз, когда я отключаю DS3231 от 5-вольтового контакта Arduino, он сбрасывается обратно. Означает ли это, что DS3231 должен использовать кристалл 16 МГц от Arduino для правильной работы??
1 ответ
Лучший ответ:
Итак, вы отсоединяете 5 В к DS3231, но держите контакты SDA и SCL подключенными? Делая это, вы работаете вне рекомендуемых условий эксплуатации.
Если вы оставите контакты SDA и SCL подключенными, то эти контакты будут находиться на отметке 5В. В спецификации указано, что эти контакты не должны быть выше, чем Vcc+0.3 V. Где Vcc-это 0V, в вашем случае.
Удаление питания с платы Arduino также удалит питание от контактов I2C, сохраняя все в рамках спецификаций.
Ладно, понял. Но если я отделю scl sda и 5v gnd от Arduino и снова подключу их к arduino, который уже включен, таймер все равно сбросится?, @Subha Jeet Sikdar
@SubhaJeetSikdar попробуй и увидишь. Просто обратите внимание, что вы должны отключить их в правильном порядке. ПДД и СКЛ в первую очередь. Тогда Vcc. GND может оставаться на связи. При повторном подключении действуйте в обратном порядке. Так что подключайте Vcc перед SDA/SCL., @Gerben
Спасибо, теперь мне все ясно., @Subha Jeet Sikdar
- RtcDateTime' не называет тип
- Модуль DS3231 RTC и проблема с батареей
- Ошибка модуля часов реального Времени-DS3231
- Установить регистр управления на низкий уровень в ds3231 rtc
- Библиотека Parola и часы DS3231
- Как подсчитать количество нарастающих фронтов на DS3231 rtc?
- Проект часов DS3231 показывает правильную дату но неправильный день
- Какую точность можно ожидать при синхронизации DS3231 с последовательным портом ПК?
Правильно ли подключен аккумулятор к модулю? Возможно, вам нужно удалить кусок пластика, который предотвращает разряжение батареи во время хранения., @PMF
Там не было пластика, предотвращающего выброс. RTC работает нормально, пока Arduino выключен, но все контакты ds3231 подключены, но когда arduino выключен и провод 5v ds3231 отключен, время сбрасывается., @Subha Jeet Sikdar
Вы не написали, какой именно модуль у вас есть. Обычно батарея и чип RTC находятся на одной и той же разрывной плате и поэтому не могут быть разделены. Очевидно, что входное напряжение батареи 5 В чипа RTC должно оставаться подключенным., @PMF
Ага. Покажите, что у вас есть на самом деле., @timemage
@PMF Теперь все в порядке, понял, @Subha Jeet Sikdar