Подключение модуля часов реального времени PCF8563 к Arduino


Сейчас на рынке доступно множество модулей часов реального времени (RTC), таких как DS1307 и DS3231. Но когда дело доходит до оценки энергопотребления, их энергопотребление окажется немного выше чем хотелось бы, что может быстро разрядить батарею в случае, если мы работаем с устройствами с питанием от батареи. Поэтому в подобных устройствах оправдано использование модуля часов реального времени, энергопотребление которого значительно меньше — это модуль PCF8563. Дополнительное отличие данного модуля от других подобных является то, что этот модуль работает по интерфейсу I2C.

Подключение модуля часов реального времени PCF8563 к Arduino

PCF8563 — это КМОП (CMOS) часы реального времени (Real-Time Clock, RTC) и календарь, оптимизированные для низкого энергопотребления. Также предусмотрены программируемый выход часов, выход прерывания и детектор низкого напряжения. Все адреса и данные передаются последовательно через двухпроводную двунаправленную шину I²C. Максимальная скорость данной шины составляет 400 кбит/с.

В данной статье мы рассмотрим подключение модуля часов реального времени PCF8563 к плате Arduino UNO. Считываемые с модуля значения даты и времени мы будем отображать на ЖК-дисплее 16×2. Ранее на нашем сайте мы рассматривали аналогичный проект на основе модуля DS1307.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Модуль RTC PCF8563.
  3. ЖК дисплей 16х2 (купить на AliExpress).
  4. Потенциометр 10 кОм (купить на AliExpress).
  5. Макетная плата
  6. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Модуль часов реального времени PCF8563

Данный модуль часов реального времени основан на чипсете NXP PCF8563T — программируемом чипсете часов реального времени высокой точности с интерфейсом I2C и частотой обмена данными до 400 кГц / 400 Кбит/с.

Модуль часов реального времени PCF8563

Он предлагает множество функций, таких как внешний программируемый выход часов, будильник, таймер и лучшую резервную батарею. Он более устойчив и точен, чем DS1302 или DS1307. Плата RTC  PCF8563 обеспечивает функцию часов реального времени/календаря, которая может работать от батареи на плате и работает независимо, даже когда микроконтроллер выключен . Это недорогой, чрезвычайно точный модуль часов реального времени (RTC), работающий по интерфейсу I2C .

Более подробную информацию можно найти в техническом описании PCF8563.

Характеристики PCF8563

1. Отображает год, месяц, день, день недели, часы, минуты и секунды на основе кварцевого кристалла 32,768 кГц.
2. Флаг столетия.
3. Рабочее напряжение часов: от 1,0 В до 5,5 В при комнатной температуре.
4. Низкий ток резервного питания; типично 0,25 мкА при VDD = 3,0 В и температуре = 25 °C.
5. Двухпроводной интерфейс шины I2C 400 кГц (при VDD = 1,8 В до 5,5 В).
6. Программируемый выход часов для периферийных устройств (32,768 кГц, 1,024 кГц, 32 Гц и 1 Гц).
7. Функции будильника и таймера.
8. Встроенный конденсатор генератора.
9. Внутренний сброс при включении питания (POR).
10. Адрес подчиненного (slave) устройства шины I2C: чтение A3h и запись A2h.
11. Контакт прерывания с открытым стоком.

Распиновка PCF8563

Модуль часов реального времени PCF8563 — это модуль I2C, т.е. он работает по двухпроводному протоколу. Он имеет выводы SDA и SCL, которые можно легко подключить к любому микроконтроллеру. Он считывает адрес I2C A3h и записывает адрес I2C как A2h .

Он имеет 4 контакта:
КОНТАКТ 1: VCC — от 1 В до 5,5 В.
КОНТАКТ 2: GND — GND.
КОНТАКТ 3: SDA — Последовательные данные.
КОНТАКТ 4: SCL — Контакт синхронизации.

Схема проекта

Схема подключения модуля часов реального времени PCF8563 к плате Arduino представлена на следующем рисунке.

Схема подключения модуля часов реального времени PCF8563 к плате Arduino

Подключите контакты SDA и SCL модуля PCF8563 к контактам Arduino A4 и A5. Подключите его контакт VCC к 5 В или 3,3 В, а GND к GND. Аналогично подключите контакты 1, 5, 16 ЖК-дисплея к GND, а 2, 15 к VCC. Подключите потенциометр 10 кОм к контакту 3 ЖК-дисплея для регулировки контрастности. Контакты ЖК-дисплея 4, 6, 11, 12, 13, 14 должны быть подключены к цифровым контактам Arduino 12, 11, 5, 4, 3, 2.

Исходный код программы

Ниже представлен исходный код для подключения модуля часов реального времени PCF8563 к плате Arduino и получения времени и даты. Но перед этим вам нужно установить библиотеку для работы с ним. Загрузите библиотеку по следующей ссылке.

Теперь скопируйте код ниже и загрузите его на плату Arduino. Обязательно измените дату и время в коде на текущее время/дату.

После загрузки кода на ЖК-дисплее начнет отображаться текущее время и дата с указанием прошедшего времени.

(Проголосуй первым!)
Загрузка...
36 просмотров

Комментарии

Подключение модуля часов реального времени PCF8563 к Arduino — 2 комментария

  1. Вам бы нанять переводчика, который разбирается в электронике. И переводит без Гугла.
    Вот что это: "Низкий ток резервного копирования; типично 0,25 А"? Во-первых, это ток резервного питания, а не копирования. Во-вторых, ток 0.25А посадит резервный элемент питания всего-то за 1 (один) час. Это не резерв! Если почитать даташит, то там указан ток резервного питания 0.25 микроамперa, так что ваш "переводчик" ошибся. Так, совсем чуть-чуть, всего-то в миллион раз.
    Почему так получилось? а потому, что не во всех шрифтах есть греческая буква "мю", которая используется в качестве сокращения для "микро".
    Был бы переводчик более внимательным и ответственным, он написал бы так:
    "Низкий ток резервного питания; типично 0,25 мкА".

    А вообще сайт хорош! Читаю с удовольствием и интересом.
    Удачи!

    • Спасибо, исправил отмеченную вами опечатку. И спасибо что оценили мой труд.
      Раньше я все статьи на сайт переводил вручную и большая часть статей на сайте переведена именно так, но в последнее время стал прибегать и к услугам гугл переводчика (его переводы стали сейчас значительно лучше чем раньше) чтобы сэкономить время, но я обязательно читаю его перевод и поправляю вручную все неточности в его переводе. А опечатку, которую вы нашли, да, к сожалению, я пропустил из-за невнимательности. Но, надеюсь, таких опечаток на сайте сейчас все же мало.
      Ну и в программировании мне, конечно, легче находить неточности в переводе гугла чем в электронике потому что программирование я знаю лучше чем электронику, хотя изначально у меня диплом по специальности "Инженер радиосвязи" и, конечно же, определенные знания по электронике у меня еще остались.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *