Да, я подтягивал SDA и SLC к + а вывод SQW у меня и так на плюсе, через резюк 1к и светодиод. По прошествии 45-60 сек светодиод загорается, так как если бы его второй вывод соеденил с землёй. А время будильника выставляю как в примере приведено.
void ClockInit(){
isAlarm = false;
alarmState = false;
clock.begin();
// Disarm alarms and clear alarms for this example, because alarms is battery backed.
// Under normal conditions, the settings should be reset after power and restart microcontroller.
clock.armAlarm1(false);
clock.clearAlarm1();
Wire.beginTransmission(104);
Wire.write(0x0E);
Wire.write(0x05);
Wire.endTransmission();
// Manual (Year, Month, Day, Hour, Minute, Second)
clock.setDateTime(2014, 1, 1, 0, 0, 0);
// Set Alarm1 - Every 20s in each minute
// setAlarm1(Date or Day, Hour, Minute, Second, Mode, Armed = true)
clock.setAlarm1(0, 2, 0, 0, DS3231_MATCH_S);
delay(3000);
sleepNow(); // Вызов функции sleep() для засыпания
}
Чего тут может быть не правильно? Тем более, если МК не спит, то всё работает. Проблема появляется после того, как Arduino уснёт. При чём, если я её бужу после того, как светодиод загорелся, то он гаснет, после того, как она опять уснёт - загорается.
Viktor1306, помедитируйте над строчкой 20 вашего скечта. И объясните, почему аларм должен включиться через (сколько там вы хотели), а не раз в минуту как у вас запрограммировано?
Я понял так, первое значение - день. Поскольку у меня срабатывание должно происходить через 2 часа, то тут оставил 0, второе значение - часы, тут выставил - 2, третье значение - минуты 0, четвёртое - секунды 0. А что я не так там запрограммировал? Если подскажите, буду очень признателен. В примере было так
Так нужно было. Спасибо Вам! А вообще библиотеки это зло. Хотел как быстрее, а нужно было, как я теперь думаю, использовать максимум что - библиотеку wire.
Связи как выяснилось нет. Просто когда контроллер спит это заметно (просыпается каждую минуту), а если я отключаю сон, закоментировав строчку кода, каждую минуту диод коротко вспыхивает. И это сложно заметить. Остаётся не понятным как у меня через 2 часа этот диод загорался и горел... Списал это в аномальные явления... А так всё работает нормально теперь.
Да, я подтягивал SDA и SLC к + а вывод SQW у меня и так на плюсе, через резюк 1к и светодиод. По прошествии 45-60 сек светодиод загорается, так как если бы его второй вывод соеденил с землёй. А время будильника выставляю как в примере приведено.
Чего тут может быть не правильно? Тем более, если МК не спит, то всё работает. Проблема появляется после того, как Arduino уснёт. При чём, если я её бужу после того, как светодиод загорелся, то он гаснет, после того, как она опять уснёт - загорается.
Viktor1306, помедитируйте над строчкой 20 вашего скечта. И объясните, почему аларм должен включиться через (сколько там вы хотели), а не раз в минуту как у вас запрограммировано?
Я понял так, первое значение - день. Поскольку у меня срабатывание должно происходить через 2 часа, то тут оставил 0, второе значение - часы, тут выставил - 2, третье значение - минуты 0, четвёртое - секунды 0. А что я не так там запрограммировал? Если подскажите, буду очень признателен. В примере было так
Будильник срабатывал через 20 сек.
Viktor1306, внимательно посмотрите на последний байт, что у вас передаётся в функцию. Перевожу на русский на всякий случай - "совпадение секунд".
Всё, понял!
Так нужно было. Спасибо Вам! А вообще библиотеки это зло. Хотел как быстрее, а нужно было, как я теперь думаю, использовать максимум что - библиотеку wire.
И где связь между ошибкой в коде и неправильной работе DS3231 при ушедшим в сон МК ?
Связи как выяснилось нет. Просто когда контроллер спит это заметно (просыпается каждую минуту), а если я отключаю сон, закоментировав строчку кода, каждую минуту диод коротко вспыхивает. И это сложно заметить. Остаётся не понятным как у меня через 2 часа этот диод загорался и горел... Списал это в аномальные явления... А так всё работает нормально теперь.