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


Первый вопрос, который может возникнуть у читателя этой статьи, заключается в том, зачем нам на самом деле нужен отдельный модуль часов реального времени (Real Time Clock, RTC) для нашего проекта Arduino, если в самой Arduino есть встроенный таймер. Но суть здесь в том, что модуль RTC работает от батарейки и может отслеживать время, даже если мы перепрограммируем микроконтроллер или отключим его основное питание.

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

В данной статье мы рассмотрим как подключить модуль часов реального времени DS3231 к плате Arduino. Также на нашем сайте вы можете посмотреть все проекты с использованием модуля DS3231.

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

  1. Плата Arduino Uno (купить на AliExpress) или Arduino Mega 2560 (купить на AliExpress) (Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158).
  2. Модуль часов реального времени DS3231 RTC (купить на AliExpress).

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

DS3231 — это недорогие и высокоточные часы реального времени, которые могут хранить часы, минуты и секунды, а также информацию о дне, месяце и годе. Кроме того, предусмотрена автоматическая компенсация за високосные годы и месяцы с числом менее 31 дня.

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

Модуль может работать как от 3,3, так и от 5 В, что делает его пригодным для многих платформ разработки или микроконтроллеров. Входное напряжение батареи составляет 3 В, а типичная батарея CR2032 3 В может питать модуль и сохранять информацию более года.

Основные возможности модуля часов реального времени DS3231

Модуль использует протокол связи I2C, который упрощает его подключение к плате Arduino. Также на нашем сайте вы можете прочитать подробное руководство по работе Arduino с протоколом I2C.

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

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

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

Итак, все, что нам нужно, это 4 провода, контакты VCC и GND для питания модуля, а также два контакта интерфейса I2C: SDA и SCL.

Программирование

После подключения модуля нам нужно запрограммировать плату Arduino для работы с часами реального времени. Однако когда дело доходит до программирования связи между Arduino и модулем I2C, код не такой уж маленький и простой. К счастью, для DS3231 RTC уже есть несколько библиотек, которые можно найти в Интернете.

Для этого урока я решил использовать библиотеку Хеннинга Карлсена, которую можно найти и загрузить с его сайта www.rinkydinkelectronics.com .

Итак, как только мы загрузим и установим библиотеку, мы сможем использовать ее первый демонстрационный пример, чтобы первоначально активировать часы модуля RTC. В разделе настройки кода демонстрационного примера мы можем заметить, что есть три строки, которые нам нужно раскомментировать, чтобы изначально установить день недели, время и дату.

Первая строка предназначена для установки дня недели, вторая строка — для установки времени в часах, минутах и ​​секундах, третья строка — для установки даты в днях, месяцах и годах.

Как только мы загрузим этот код, нам нужно будет закомментировать три строки и повторно загрузить код.

Если мы посмотрим на раздел кода, посвященный циклу, то увидим, что теперь, используя три пользовательские функции, мы получаем информацию от модуля часов реального времени и печатаем ее в последовательном мониторе. Вот как они выглядят в Serial Monitor.

Данные с модуля часов реального времени в окне монитора последовательной связи

Теперь, даже если мы отключим питание Arduino, а затем снова подключим его и снова запустим последовательный монитор, мы заметим, что время продолжает идти без сброса.

Итак, теперь у нас есть часы реального времени, которые работают, и мы можем использовать их в любом проекте Arduino. В качестве второго примера я подключил ЖК-дисплей к Arduino и вывел на него время и дату.

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

Вот исходный код этого примера:

Видео, демонстрирующее работу проекта

Источник статьи

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

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

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