Arduino:Примеры/SimpleRTCAlarm
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Поддержать проект | Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Простой будильник для часов реального времени (RTC)[1]
Этот пример показывает, как, используя функции библиотеки RTC, сделать что-либо при срабатывании будильника. В данном примере RTC-время будет выставлено на 16:00:00, а будильник – на 16:00:10. Когда RTC-время будет соответствовать времени срабатывания будильника (которое задано параметром MATCH_HHMMSS), запустится прерывание, а вместе с ним – функция внешнего вызова, которая напишет в мониторе порта «Alarm Match!» (что можно перевести как «время будильника»).
Необходимое оборудование
- Плата Arduino Zero
Код
/*
Простой RTC-будильник для Arduino Zero или MKR1000
Демонстрирует, как настроить будильник на Arduino Zero или MKR1000.
Этот код не защищен авторским правом.
http://arduino.cc/en/Tutorial/SimpleRTCAlarm
Создан Артуро Гуадалупи (Arturo Guadalupi; a.guadalupi@arduino.cc)
25 сентября 2015 года, модифицирован 21 октября 2015 года
*/
#include <RTCZero.h>
/* создаем объект RTC */
RTCZero rtc;
/* меняем эти значения на текущее время */
const byte seconds = 0;
const byte minutes = 0;
const byte hours = 16;
/* меняем эти значения на текущую дату */
const byte day = 25;
const byte month = 9;
const byte year = 15;
void setup()
{
Serial.begin(9600);
rtc.begin(); // инициализируем 24-часовой RTC-формат
rtc.setTime(hours, minutes, seconds);
rtc.setDate(day, month, year);
rtc.setAlarmTime(16, 0, 10);
rtc.enableAlarm(rtc.MATCH_HHMMSS);
rtc.attachInterrupt(alarmMatch);
}
void loop()
{
}
void alarmMatch()
{
Serial.println("Alarm Match!"); // "Время будильника!"
}