Как подключить PCF8563 к Arduino. Как настроить часы реального времени PCF8563. Как считывать время и дату с PCF8563. Как использовать будильник PCF8563. Какие преимущества у PCF8563 перед другими RTC.
Обзор микросхемы часов реального времени PCF8563
PCF8563 — это недорогая и широко распространенная микросхема часов реального времени (RTC) от компании NXP Semiconductors. Она позволяет точно отслеживать время и дату даже при отключении основного питания устройства.
Основные характеристики PCF8563:
- Низкое энергопотребление — менее 250 нА в режиме ожидания
- Широкий диапазон напряжения питания: от 1.0В до 5.5В
- Возможность работы от батарейки
- Интерфейс I2C для подключения к микроконтроллеру
- 32.768 кГц кварцевый генератор
- Календарь до 2099 года
- Программируемый выход прерывания
- Функция будильника
Благодаря этим особенностям PCF8563 отлично подходит для использования в различных встраиваемых системах, где требуется отслеживание реального времени при минимальном энергопотреблении.
![](/800/600/https/ae01.alicdn.com/kf/S0b74c1dc3f524415b0e162f544cd87fek.jpg)
Подключение PCF8563 к Arduino по I2C интерфейсу
Для подключения PCF8563 к Arduino используется интерфейс I2C. Это позволяет легко интегрировать микросхему часов в проект и обмениваться данными с ней. Схема подключения выглядит следующим образом:
- VCC PCF8563 подключается к 3.3В или 5В Arduino
- GND PCF8563 подключается к GND Arduino
- SCL PCF8563 подключается к пину SCL Arduino (A5 на большинстве плат)
- SDA PCF8563 подключается к пину SDA Arduino (A4 на большинстве плат)
Дополнительно можно подключить пин INT PCF8563 к любому цифровому пину Arduino для обработки прерываний от часов. Также не забудьте подключить подтягивающие резисторы 4.7 кОм к линиям SDA и SCL.
Инициализация и настройка PCF8563 в скетче Arduino
Для работы с PCF8563 в Arduino IDE удобно использовать готовые библиотеки. Одна из популярных — PCF8563 от Adafruit. Установите ее через менеджер библиотек Arduino IDE.
Базовый код для инициализации часов будет выглядеть так:
#include <Wire.h>
#include <Adafruit_PCF8563.h>
Adafruit_PCF8563 rtc;
void setup() {
Serial.begin(9600);
if (!rtc.begin()) {
Serial.println("Не удалось найти PCF8563");
while (1);
}
// Установка времени при первом запуске
rtc.adjust(DateTime(2023, 9, 20, 12, 0, 0));
}
void loop() {
DateTime now = rtc.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(" ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(1000);
}
Этот код инициализирует PCF8563, устанавливает начальное время и затем выводит текущее время в серийный порт каждую секунду.
![](/800/600/https/s3-ap-southeast-1.amazonaws.com/a2.datacaciques.com/wm/MTU5MzA/1414862658/3369377856.jpg)
Чтение времени и даты с PCF8563
Для считывания текущего времени с PCF8563 используется метод now(), который возвращает объект DateTime. У этого объекта есть методы для получения отдельных компонентов даты и времени:
- year() — получение года
- month() — получение месяца
- day() — получение дня
- hour() — получение часа
- minute() — получение минут
- second() — получение секунд
Пример использования:
DateTime now = rtc.now();
int year = now.year();
int month = now.month();
int day = now.day();
int hour = now.hour();
int minute = now.minute();
int second = now.second();
Эти значения можно использовать для отображения времени на дисплее, логирования событий или управления другими процессами в вашем проекте.
Установка будильника на PCF8563
PCF8563 имеет встроенную функцию будильника, которую можно использовать для генерации прерываний в заданное время. Для настройки будильника используется метод setAlarm():
// Установка будильника на 8:30 каждый день
rtc.setAlarm(8, 30);
// Включение прерывания по будильнику
rtc.enableAlarm(PCF8563_ALARM_ENABLE);
Чтобы обрабатывать прерывания от будильника, нужно подключить пин INT микросхемы к цифровому пину Arduino и настроить прерывание:
![](/800/600/https/ae01.alicdn.com/kf/Sdb37dd8573044126985a803f5e7f7a38b.jpg)
const int alarmPin = 2;
void setup() {
// ...
pinMode(alarmPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(alarmPin), alarmFunction, FALLING);
}
void alarmFunction() {
Serial.println("Сработал будильник!");
}
Теперь при наступлении заданного времени будет вызываться функция alarmFunction().
Преимущества PCF8563 перед другими микросхемами RTC
PCF8563 имеет ряд преимуществ по сравнению с другими популярными микросхемами часов реального времени:
- Низкое энергопотребление — PCF8563 потребляет всего 250 нА в режиме ожидания, что делает ее идеальной для устройств с батарейным питанием.
- Широкий диапазон напряжения питания — от 1.0В до 5.5В, что обеспечивает совместимость с различными микроконтроллерами.
- Встроенный температурно-компенсированный кварцевый генератор обеспечивает высокую точность хода часов.
- Функция калибровки позволяет настроить точность хода для компенсации погрешностей кварцевого резонатора.
- Программируемый выход с открытым стоком для генерации прямоугольных импульсов различной частоты.
- Компактный корпус и небольшое количество внешних компонентов упрощают интеграцию в проект.
Эти особенности делают PCF8563 отличным выбором для многих применений, от простых часов до сложных систем сбора данных с временными метками.
![](/800/600/https/libstock.mikroe.com/img/projects/10891/1676/1452610417_untitled.png)
Использование PCF8563 в проектах Arduino
PCF8563 можно эффективно применять в различных проектах на базе Arduino. Вот несколько идей:- Цифровые часы с LED или LCD дисплеем
- Метеостанция с логированием данных и временными метками
- Система автоматического полива растений по расписанию
- Таймер для фотографирования в технике time-lapse
- Будильник с возможностью установки нескольких времен срабатывания
- Система контроля доступа с записью времени прихода/ухода
В каждом из этих проектов PCF8563 обеспечивает точное отслеживание времени и возможность программирования действий по расписанию.
Калибровка PCF8563 для повышения точности хода
Хотя PCF8563 обладает достаточно высокой точностью, в некоторых случаях может потребоваться дополнительная калибровка для компенсации погрешностей кварцевого резонатора. Для этого используется встроенный регистр калибровки:
// Установка значения калибровки // Диапазон от -64 до +63, где -64 замедляет ход на 10.7 ppm, а +63 ускоряет на 10.7 ppm rtc.calibrate(10);
Чтобы определить необходимое значение калибровки, нужно измерить отклонение хода часов за длительный период (например, неделю) и рассчитать требуемую коррекцию. Это позволит добиться высокой точности хода PCF8563 в вашем конкретном устройстве.
![](/800/600/https/ae01.alicdn.com/kf/Sa98f2ebecb984c16a714818bd0e83533y.jpg)
Серия pcf8563 (NXP)
NXP
Общие характеристики
Раздел | Часы реального времени | |
Интерфейс подключения | ||
---|---|---|
Напряжение питания | ||
Рабочая температура |
Документация на серию pcf8563
- найти pcf8563.pdf
Товары серии pcf8563
Наименование | i | Упаковка | Особенности | Корпус |
---|---|---|---|---|
PCF8563BS/4 (NXP)
|
| Real Time Clock, Volatile, 1 Timer(s), CMOS, PDSO10 | — | |
PCF8563BS/4.118 (NXP)
|
| 1 шт | — | DFN10 |
PCF8563P (NXP)
| Real Time Clock, Volatile, 1 Timer(s), CMOS, PDIP8 | — | ||
PCF8563P/F4 (NXP)
| Real Time Clock, Volatile, 1 Timer(s), CMOS, PDIP8 | — | ||
PCF8563P/F4.![]()
|
| — | DIP8300 | |
PCF8563T (NXP)
| 1 шт | Real Time Clock, Volatile, 1 Timer(s), CMOS, PDSO8 | SO-8 SOIC8 | |
PCF8563T/5 (NXP)
| 1 шт | Real Time Clock, 1 Timer(s), CMOS, PDSO8 | SO-8 SOIC8 | |
PCF8563T/5.518 (NXP)
| в ленте 2500 шт | — | SO-8 SOIC8 | |
PCF8563T/F4 (NXP)
| 1 шт | Real Time Clock, Volatile, 1 Timer(s), CMOS, PDSO8 | — | |
PCF8563T/F4.![]()
| в линейках 100 шт | — | SO-8 SOIC8 | |
PCF8563T/F4.118 (NXP)
| в ленте 2500 шт | — | SO-8 SOIC8 | |
PCF8563TD (NXP)
| Real Time Clock, Volatile, 0 Timer(s), CMOS, PDSO8 | SO-8 SOIC8 | ||
PCF8563TS (NXP)
| 1 шт | Real Time Clock, Volatile, 1 Timer(s), CMOS, PDSO8 | — | |
PCF8563TS/4 (NXP)
| 1 шт | Real Time Clock, Volatile, 1 Timer(s), CMOS, PDSO8 | TSSOP-8 | |
PCF8563TS/4.![]()
| в ленте 2500 шт | — | TSSOP-8 | |
PCF8563TS/5 (NXP)
| 1 шт | Real Time Clock, 1 Timer(s), CMOS, PDSO8 | SO-8 SOIC8 | |
PCF8563TS/5.118 (NXP)
|
| 1 шт | — | TSSOP-8 |
PCF8563TS/F4.118 (NXP)
| — | TSSOP-8 |
3707 от 700 рублей Модуль: RTC; PCF8563; I2C; 3,3ВDC; штыревой; 5г; Размер: CR1220 производства WAVESHARE WSH-3707
нет в наличии
по запросу
Запросить
Вы можете запросить у нас любое количество 3707, просто отправьте нам запрос на поставку.
Мы работаем с частными и юридическими лицами.
WSH-3707 описание и характеристики
Модуль: RTC; PCF8563; I2C; 3,3ВDC; штыревой; 5г; Размер: CR1220
Бесплатная доставка
заказов от 5000 ₽
Доставим прямо в руки или в ближайший пункт выдачи
Похожие товары
DFR0151
Модуль: RTC; DS1307; I2C; 5ВDC; 22×27мм; 6г; Размер: CR1220; винтами
от 1 037 ₽
+467 баллов
Подробнее
OKY3391
Модуль: RTC; DS1302; serial; 3,3÷5ВDC; батареи RTC,штыревой
от 321 ₽
+144 балла
Подробнее
OKY3392
Модуль: RTC; DS1307; I2C; 3,3ВDC; батареи RTC,штыревой; 29×26мм
от 399 ₽
+180 баллов
Подробнее
Ваша заявка отправлена. В ближайшее время мы свяжемся с Вами по указанным контактам.
20800078
Enclosure, Accessory, Coding Pegs Срок поставки 3-4 недели
Поздравляем! Вы получили бесплатную доставку на ваш заказ!
Оформить заказ
Заказанное количество не является кратным. Правильное количество должно быть кратным .
Введите номер вашего мобильного телефона
Нажимая на кнопку «Получить СМС с кодом для регистрации», Вы принимаете условия пользовательского соглашения.
Введите номер вашего мобильного телефона
Нажимая на кнопку «Получить СМС с кодом доступа», Вы принимаете условия пользовательского соглашения.
Введите номер вашего мобильного телефона
Нажимая на кнопку «Получить СМС с кодом доступа», Вы принимаете условия пользовательского соглашения.
Введите номер вашего мобильного телефона
Нажимая на кнопку «Получить СМС с кодом доступа», Вы принимаете условия пользовательского соглашения.
Сохранение профиля
Данные сохранены!
Отменить удаление будет невозможно
Введите название Запись начинается на строке12
Предварительный просмотр вашего файла отображается ниже. Ваши столбцы были сопоставлены на основе содержания вашего файла. Пожалуйста, просмотрите выбранные варианты и используйте выпадающие списки над каждым столбцом, чтобы внести какие-либо изменения, а также сопоставить столбцы, которые мы не смогли отобразить автоматически. Требуется столбец как для номера детали, так и для количества.
ПКФ8563 | NXP Semiconductors
Фильтр по
1-5 из 15 документы
Сортировать поРелевантностиНовости/ДатаОт А до ЯОт Я до А
Техническая спецификация
PDF Ред.
11.0 23 июня 2017 г. 495.5 KPCF8563Английский, №
Примечание по применению
PDFRev 1.014 марта 2013 г.763.2 KBAN10853Английский
Примечание по применению
PDF Ред. 1.0 5 ноября 2007 г.
288.0 KBAN10652Английский
Гид пользователя
PDFRev 7.01 октября 2021751.0 KBUM10204Английский, 日本語
Требуется авторизация
Гид пользователя
PDFRev 2.
124 июля 2015 г.961.0 KBUM10301Английский
Брошюра
PDF Ред. 1.0 8 апреля 2018 г. 1.1 MB75016543Английский
Информация о пакете
PDFRev 1.
013 июля 2017 г. 218.9 KBSOT650-1Английский
Информация о пакете
PDFRev 1.19 января 2017 г.175.4 KBSOT96-1Английский
Информация об упаковке
PDFRev 1.
02 июня 2014 г.131.2 KBSOT96-1_518Английский
Информация об упаковке
PDF Ред. 2.0 19 апреля 2013 г. 237.4 KBSOT96-1_118Английский
Информация об упаковке
PDF Ред.
2.0 18 апреля 2013 г. 277.1 KBSOT650-1_118Английский
Информация об упаковке
PDF Ред. 1.0 15 апреля 2013 г. 218.8 KBSOT505-1_118Английский
Руководство по выбору
PDFRev 4 20 июля 2020 г.
21.1 MBRTCSelectorGuideA4English
Вспомогательная информация
PDFRev 3.01 июля 2016 г. 206.3 KBWAVE_SOLDERING_PROFILEАнглийский
Вспомогательная информация
PDFRev 1.08 октября 20098.8 KBSO-SOJ-REFLOWАнглийский
Показать все
Подождите, пока загружаются защищенные файлы.
Знакомство с библиотекой Adafruit PCF8563 Real Time Clock (RTC) — документация Adafruit PCF8563 RTC Library 1.0
Это отличные часы реального времени (RTC) с батарейным питанием, которые позволяют проект микроконтроллера для отслеживания времени, даже если он перепрограммирован, или если мощность потеряна. Идеально подходит для регистрации данных, построения часов, времени штамповки, таймеры и будильники и др.
PCF8563 является простым и недорогим, но не высокоточным устройством. Он может потерять или выиграть несколько секунд в день. Для высокой точности, альтернатива с температурной компенсацией, пожалуйста, ознакомьтесь с Точные часы реального времени DS3231. Если вам нужен DS1307 из соображений совместимости, ознакомьтесь с нашими Прорыв DS1307 RTC.
Этот драйвер зависит от регистра и шинное устройство библиотеки. Убедитесь, что они также доступны в файловой системе CircuitPython. Это легко сделать, загрузив пакет библиотеки и драйвера.
В поддерживаемых системах GNU/Linux, таких как Raspberry Pi, вы можете установить драйвер локально из
ПиПИ. Установить для текущего пользователя:
pip3 установить adafruit-circuitpython-pcf8563
Для общесистемной установки (это может потребоваться в некоторых случаях):
sudo pip3 установить adafruit-circuitpython-pcf8563
Для установки в виртуальной среде в текущем проекте:
mkdir имя-проекта && cd имя-проекта python3 -m venv .venv источник .venv/bin/активировать pip3 установить adafruit-схемуpython-pcf8563
Основы
Конечно, вы должны импортировать библиотеку, чтобы использовать ее:
импортный бизнес импортировать adafruit_pcf8563 время импорта
Все библиотеки Adafruit RTC принимают созданный и активный объект I2C.
(с busio
) в качестве аргумента их конструктора. Путь к
создание объекта I2C зависит от используемой платы. Для плат с маркировкой
Контакты SCL и SDA, можно:
из платы импортной *
Теперь для инициализации шины I2C:
i2c_bus = доска.I2C()
После того, как вы создали объект интерфейса I2C, вы можете использовать его для создания экземпляра объект RTC:
rtc = adafruit_pcf8563.PCF8563(i2c_bus)
Дата и время
Чтобы установить время, вам нужно установить datetime
на объект time.struct_time
:
rtc.datetime = time.struct_time((2017,1,9,15,6,0,0,9,-1))
После того, как RTC установлен, вы получаете время, читая datetime
атрибут и получить доступ к стандартным атрибутам struct_time, таким как tm_year
, tm_hour
и tm_min
.
т = rtc.datetime печать (т) печать (t.tm_hour, t.tm_min)
Аварийный сигнал
Чтобы установить время, вам нужно установить будильник
в кортеж с time.struct_time
объект и строка, представляющая частоту, например «ежечасно»:
rtc.alarm = (time.struct_time((2017,1,9,15,6,0,0,9,-1)), "ежедневно")
После того, как RTC установлен, вы получаете статус тревоги, читая атрибут alarm_status
. После того, как True, установите его обратно в False для сброса.
, если rtc.alarm_status: Печать("Просыпайся!") rtc.alarm_status = ЛожьДокументацию по API
для этой библиотеки можно найти в разделе Read the Docs.
Для получения информации о документации по сборке библиотеки ознакомьтесь с этим руководством.
Участие приветствуется! Пожалуйста, ознакомьтесь с нашим Кодексом поведения прежде чем внести свой вклад, чтобы помочь этому проекту оставаться гостеприимным.
Примеры
- Демо
Справочник по API
-
adafruit_pcf8563
— Модуль часов реального времени PCF8563- Замечания по реализации
-
PCF8563
-
PCF8563.сигнал тревоги
-
PCF8563.alarm_interrupt
-
PCF8563.alarm_status
-
PCF8563.datetime
-
PCF8563.
-