Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/SleepRTCAlarm

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

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


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. }

См.также

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

  1. Arduino.cc - SleepRTCAlarm