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

Arduino:Примеры/SimpleRTCAlarm

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

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

Контакты:

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


Простой будильник для часов реального времени (RTC)[1]

Этот пример показывает, как, используя функции библиотеки RTC, сделать что-либо при срабатывании будильника. В данном примере RTC-время будет выставлено на 16:00:00, а будильник – на 16:00:10. Когда RTC-время будет соответствовать времени срабатывания будильника (которое задано параметром MATCH_HHMMSS), запустится прерывание, а вместе с ним – функция внешнего вызова, которая напишет в мониторе порта «Alarm Match!» (что можно перевести как «время будильника»).

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

  • Плата Arduino Zero

Код

  1. /*
  2.   Простой RTC-будильник для Arduino Zero или MKR1000
  3.  
  4.   Демонстрирует, как настроить будильник на Arduino Zero или MKR1000.
  5.  
  6.   Этот код не защищен авторским правом.
  7.  
  8.   http://arduino.cc/en/Tutorial/SimpleRTCAlarm
  9.  
  10.   Создан Артуро Гуадалупи (Arturo Guadalupi; a.guadalupi@arduino.cc)
  11.   25 сентября 2015 года, модифицирован 21 октября 2015 года
  12. */
  13.  
  14. #include <RTCZero.h>
  15.  
  16. /* создаем объект RTC */
  17. RTCZero rtc;
  18.  
  19. /* меняем эти значения на текущее время */
  20. const byte seconds = 0;
  21. const byte minutes = 0;
  22. const byte hours = 16;
  23.  
  24. /* меняем эти значения на текущую дату */
  25. const byte day = 25;
  26. const byte month = 9;
  27. const byte year = 15;
  28.  
  29. void setup()
  30. {
  31.   Serial.begin(9600);
  32.  
  33.   rtc.begin(); // инициализируем 24-часовой RTC-формат
  34.  
  35.   rtc.setTime(hours, minutes, seconds);
  36.   rtc.setDate(day, month, year);
  37.  
  38.   rtc.setAlarmTime(16, 0, 10);
  39.   rtc.enableAlarm(rtc.MATCH_HHMMSS);
  40.  
  41.   rtc.attachInterrupt(alarmMatch);
  42. }
  43.  
  44. void loop()
  45. {
  46.  
  47. }
  48.  
  49. void alarmMatch()
  50. {
  51.   Serial.println("Alarm Match!");  //  "Время будильника!"
  52. }

См.также

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

  1. Arduino.cc - SimpleRTCAlarm