Arduino:Примеры/SleepRTCAlarm

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Перевел 364226 статей для сайта.</br>Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


RTC-будильник, выводящий плату из спящего режима[1]

Этот пример показывает, как использовать функции библиотеки RTC, чтобы вывести плату Arduino/Genuino Zero из спящего режима.

Необходимое оборудование

  • Плата Arduino Zero

Код

 1 /*
 2   RTC-будильник, выводящий Arduino Zero из спящего режима 
 3 
 4   Демонстрирует, как использовать будильник, чтобы вывести Arduino
 5   Zero из спящего режима. 
 6 
 7   Этот код не защищен авторским правом.
 8 
 9   http://arduino.cc/en/Tutorial/SleepRTCAlarm
10 
11   Создан Артуро Гуадалупи (Arturo Guadalupi) 17 ноября 2015 года,
12   Модифицирован 01 марта 2016 года
13   
14   ПРИМЕЧАНИЕ:
15   Если использовать этот скетч с MKR1000, то никакой выдачи в
16   мониторе порта не будет. Причина – в прекращении отправки
17   тактового импульса, из-за чего прекращает работать и
18   USB-соединение. Чтобы снова увидеть USB-порт, дважды нажмите на
19   кнопку сброса. 
20 */
21 
22 #include <RTCZero.h>
23 
24 /* создаем объект RTC */
25 RTCZero rtc;
26 
27 /* меняем эти значения на текущее время */
28 const byte seconds = 0;
29 const byte minutes = 00;
30 const byte hours = 17;
31 
32 /* меняем эти значения на текущую дату */
33 const byte day = 17;
34 const byte month = 11;
35 const byte year = 15;
36 
37 void setup()
38 {
39   pinMode(LED_BUILTIN, OUTPUT);
40   digitalWrite(LED_BUILTIN, LOW);
41 
42   rtc.begin();
43 
44   rtc.setTime(hours, minutes, seconds);
45   rtc.setDate(day, month, year);
46 
47   rtc.setAlarmTime(17, 00, 10);
48   rtc.enableAlarm(rtc.MATCH_HHMMSS);
49 
50   rtc.attachInterrupt(alarmMatch);
51 
52   rtc.standbyMode();
53 }
54 
55 void loop()
56 {
57   rtc.standbyMode();    // переходим в спящий режим до тех пор, пока снова не сработает будильник 
58 }
59 
60 void alarmMatch()
61 {
62   digitalWrite(LED_BUILTIN, HIGH);
63 }

См.также

Внешние ссылки