Set an alarm time. Sets the alarm registers only. To cause the INT pin to be asserted on alarm match, use alarmInterrupt(). This method can set either Alarm 1 or Alarm 2, depending on the value of alarmType (use the ALARM_TYPES_t enumeration above). When setting Alarm 2, the seconds value must be supplied but is ignored, recommend using zero. (Alarm 2 has no seconds register.)
Syntax
alarmType: A value from the ALARM_TYPES_t enumeration, above. (ALARM_TYPES_t)
seconds: The seconds value to set the alarm to. (byte)
minutes: The minutes value to set the alarm to. (byte)
hours: The hours value to set the alarm to. (byte)
dayOrDate: The day of the week or the date of the month. For day of the week, use a value from the Time library timeDayOfWeek_t enumeration, i.e. dowSunday, dowMonday, dowTuesday, dowWednesday, dowThursday, dowFriday, dowSaturday. (byte)
Returns
Set an alarm time. Sets the alarm registers only. To cause the INT pin to be asserted on alarm match, use alarmInterrupt(). This method can set either Alarm 1 or Alarm 2, depending on the value of alarmType (use the ALARM_TYPES_t enumeration above). However, when using this method to set Alarm 1, the seconds value is set to zero. (Alarm 2 has no seconds register.)
Syntax
alarmType: A value from the ALARM_TYPES_t enumeration, above. (ALARM_TYPES_t)
minutes: The minutes value to set the alarm to. (byte)
hours: The hours value to set the alarm to. (byte)
dayOrDate: The day of the week or the date of the month. For day of the week, use a value from the Time library timeDayOfWeek_t enumeration, i.e. dowSunday, dowMonday, dowTuesday, dowWednesday, dowThursday, dowFriday, dowSaturday. (byte)
Returns
None.
Example
//Set Alarm2 for 12:34 on the 4th day of the month
То есть имеем два примера, где в одном случае ставим на время конкретного дня недели, во втором - на конкретную дату. Как поставить просто на конкретный час, не привязываясь к дню недели и дате - я не могу понять
RTC.alarmInterrupt(ALARM_2, true); //Включение будильника
RTC.squareWave(SQWAVE_1024_HZ); //Задание частоты на SQW
Второе - чтобы не проскакивали явные нули на SQW. Как только в программе включаю библиотеки Wire и DS3231 - сразу в любом случае сыпет данными в порт, хотя я бы предпочёл, чтобы оно проснулось (см. выше), считало данные времени, показания веса, их интерпретировало, и заснуло обратно до следующего пинка будильником через сутки...
Второе - чтобы не проскакивали явные нули на SQW. Как только в программе включаю библиотеки Wire и DS3231 - сразу в любом случае сыпет данными в порт, хотя я бы предпочёл, чтобы оно проснулось (см. выше), считало данные времени, показания веса, их интерпретировало, и заснуло обратно до следующего пинка будильником через сутки...
Влепил такое:
Код HTML:
RTC.alarmInterrupt(ALARM_2, true); //Включение будильника
RTC.squareWave(SQWAVE_1024_HZ); //Задание частоты на SQW
Второе - чтобы не проскакивали явные нули на SQW.
А зачем вам генератор да еще с частотой килогерц?
Если вы подключите выход SQW к входу прерывания на Ардуине, то он будет "будить" её 1000 раз в секунду.
Т.к. ALM2_MATCH_HOURS -- causes an alarm when the hours and minutes match.
Запись RTC.setAlarm(ALM2_MATCH_HOURS, 40, 07, 01); должна будить в 7:40, независтмо от daydate.
Код HTML:
RTC.setAlarm(ALM2_MATCH_HOURS, 0, 0, 20);
значит, что сигнал на выходе INT DS-a будет формироваться в 0 часов 0 минут 20 секунд, в 20 секунд первого ночи
Я тут решил поиграться со спящим режимом.. И понял,что на ардуине - это, пожалуй, смешно!
Нахрена тебе там спящий режим на процессоре, если у тебя там стоит светодиод по питанию и "утюг" стабилизатора?
Как бы на этом фоне спать проц укладывать - есть ли сакральный смысл?!
Померил. У меня без проца - 7 мА ХХ ;-)
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.