Arduino:Примеры/SleepRTCAlarm
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
RTC-будильник, выводящий плату из спящего режима[1]
Этот пример показывает, как использовать функции библиотеки RTC, чтобы вывести плату Arduino/Genuino Zero из спящего режима.
Необходимое оборудование
- Плата Arduino Zero
Код
/*
RTC-будильник, выводящий Arduino Zero из спящего режима
Демонстрирует, как использовать будильник, чтобы вывести Arduino
Zero из спящего режима.
Этот код не защищен авторским правом.
http://arduino.cc/en/Tutorial/SleepRTCAlarm
Создан Артуро Гуадалупи (Arturo Guadalupi) 17 ноября 2015 года,
Модифицирован 01 марта 2016 года
ПРИМЕЧАНИЕ:
Если использовать этот скетч с MKR1000, то никакой выдачи в
мониторе порта не будет. Причина – в прекращении отправки
тактового импульса, из-за чего прекращает работать и
USB-соединение. Чтобы снова увидеть USB-порт, дважды нажмите на
кнопку сброса.
*/
#include <RTCZero.h>
/* создаем объект RTC */
RTCZero rtc;
/* меняем эти значения на текущее время */
const byte seconds = 0;
const byte minutes = 00;
const byte hours = 17;
/* меняем эти значения на текущую дату */
const byte day = 17;
const byte month = 11;
const byte year = 15;
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
rtc.begin();
rtc.setTime(hours, minutes, seconds);
rtc.setDate(day, month, year);
rtc.setAlarmTime(17, 00, 10);
rtc.enableAlarm(rtc.MATCH_HHMMSS);
rtc.attachInterrupt(alarmMatch);
rtc.standbyMode();
}
void loop()
{
rtc.standbyMode(); // переходим в спящий режим до тех пор, пока снова не сработает будильник
}
void alarmMatch()
{
digitalWrite(LED_BUILTIN, HIGH);
}