Оригинальное название: RTC Unit
Чип: HYM8563

Часы реального времени

Где можно применить
  • Часы и будильники
  • Логирование данных
  • Таймеры
  • Планирование задач
Модуль хранит текущее время и дату, даже если питание отключено.

В отличие от обычных таймеров, он работает автономно за счёт батарейки.

Что это такое

Основные характеристики

Чип:
HYM8563
Интерфейс:
I2C (0×51)
Частота кварца:
32.768 кГц
Питание:
5 В
Низкое энергопотребление
Пример кода

#include <Unit_RTC.h> // Подключение библиотеки RTC
Unit_RTC RTC; // Создаем объект RTC
rtc_time_type RTCtime; // Структура для хранения времени
rtc_date_type RTCdate; // Структура для хранения даты
void setup() {
Serial.begin(9600); // Инициализация сериал-соединения для вывода в монитор
RTC.begin(); // Инициализация RTC
// Установка времени
RTCtime.Hours = 14; // Час
RTCtime.Minutes = 40; // Минута
RTCtime.Seconds = 5; // Секунда
// Установка даты
RTCdate.WeekDay = 4; // День недели (например, 4 - четверг)
RTCdate.Month = 7; // Месяц
RTCdate.Date = 15; // День месяца
RTCdate.Year = 2021; // Год
// Установка времени и даты на RTC
RTC.setTime(&RTCtime);
RTC.setDate(&RTCdate);
}
void loop() {
// Получение текущего времени с RTC
RTC.getTime(&RTCtime);
// Получение текущей даты с RTC
RTC.getDate(&RTCdate);
// Вывод времени в сериал-монитор
Serial.print("Текущее время: ");
Serial.printf("%02d:%02d:%02d\n", RTCtime.Hours, RTCtime.Minutes, RTCtime.Seconds);
// Вывод даты и дня недели
Serial.print("Текущая дата: ");
Serial.printf("%04d-%02d-%02d, День недели: %d\n",
RTCdate.Year, RTCdate.Month, RTCdate.Date, RTCdate.WeekDay);
delay(1000); // Задержка 1 секунда
}