Ds3231 схема модуля ардуино: Arduino и часы RTC DS3231

DS3231 arduino подключение — часы реального времени RTC DS3231

Содержание

  1. DS3231 arduino подключение — часы реального времени
  2. Технические характеристики устройства
  3. DS3231 arduino подключение — базовая информация
  4. DS3231 arduino подключение — Подзарядка аккумулятора
  5. Подключение DS3231 к Arduino
  6. Принцип подключения:
  7. Настройка и установка времени DS3231
  8. Программа разработки

DS3231 arduino подключение — это автономная дешевая плата, в которой имеется встроенный кварц с термо-стабилизацией с исключительной точность хода часами в режиме реального времени. В состав модуля также входит литий-ионный аккумулятор, обладающий лучшим соотношением массы и накопленной энергии. Встроенный генератор позволил сократить количество деталей в схеме и повысить корректность работы прибора.

Технические характеристики устройства

Напряжение питания:3.3В и 5В/v
Чип памяти::AT24C32 (32 Кб)
Точность:± 0. 432 сек в день
Частота кварца:32.768 кГц
Поддерживаемый протокол:I2C
Габариты:38мм x 22мм x 15мм

DS3231 arduino подключение — базовая информация

Большая часть микросхем, аналогичных одной из самых доступных типов модульного устройства часов реального времени DS1307, применяется схема простого кварцевого генератора. DS3231 arduino подключение, которого не представляет никакой сложности. Данная схема выполнена на двух транзисторах с рабочей частотой 32 кГц. Однако и в этих приборах имеется свое несовершенство, так при различных температурных составляющих изменяется диапазон частот у кварца. А это в свою очередь создает неточность при обработке и подсчете времени.

Этот недостаток был решен в микросхеме DS3231, за счет внедрения в нее термо-компенсированного кварцевого генератора поддерживающий температурную стабильность частоты. При этом реальное время всегда находится в высокоточном режиме (в случае надобности, параметры температуры возможно подсчитать). DS3231 гарантирует работу с выводом информации по всем значениям, начиная от секунд и заканчивая месяцем и годом. Помимо этого он определяет сколько дней в текущем месяце и делает коррекцию при високосном годе.

Само устройство собрано на основе чипа DS3231N. Чтобы подтянуть линии 32K, SQW, SCL и SDA была применена сборка из резисторов RP1 с номиналом 4.7 кОм. Но здесь нужно учитывать одну зависимость. При использовании некоего количества приборов с шиной обеспечивающей передачу информации через интерфейс I2C, тогда нужно убрать резисторы на остальных модулях. Другая резисторная сборка, также служащая для поддержания стабильного уровня нуля на линиях A0, A1 и A2 и для изменения памяти адреса у микросхемы AT24C32N.

DS3231 arduino подключение — Подзарядка аккумулятора

Для обеспечения подзарядки аккумулятора служит цепочка, собранная на сопротивлении R5 и выпрямительном диоде D1. Вообще то эту цепь можно убрать, поскольку дисковые литиевые элементы SR2032 могут служить много лет. Светодиод визуальной индикации, включенный через сопротивление R1 показывает, что модуль включен и готов к работе. Так как DS3231 arduino подключение выполнено по интерфейсной шине I2C, то для удобства использования электрические шины поданы на два коннектора J1 и J2. Для чего служат другие контакты — показано в таблице ниже.

Функции J1

32K:выход, частота 32 кГц
SQW:выход
SCL:линия тактирования (Serial CLock)
SDA:линия данных (Serial Dфta)
VCC:«+» питание модуля
GND:«-» питание модуля

Функции J2

SCL:линия тактирования (Serial CLock)
SDA:линия данных (Serial Data)
VCC:«+» питание модуля
GND:«-» питание модуля

 

Что касается электронного компонента памяти AT24C32N, то он упрятан в корпус SOIC8, работает по сдвоенному интерфейсному проводнику I2C.

Фиксированный адрес чипа AT24C32N — 0x57, но в случае нужды его несложно изменить, установив перемычки A0, A1 и A2. Поскольку в приборе AT24C32N реализовано три входных адреса A0, A1 и A2, способные быть в двух положениях: LOG-1 или LOG-0. Микросхема способна работать на восемь адресов, начиная от 0x50 и заканчивая 0x57.

Подключение DS3231 к Arduino

Компоненты для подключения:

Arduino UNO R3 x 1 шт.
Часы реального времени на DS3231, RTC, SPI, AT24C32 x 1 шт.
Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
Кабель USB 2.0 A-B x 1 шт.

 

Принцип подключения:

В этой иллюстрации покажу как делать DS3231 arduino подключение используя только приборы DS3231 и Arduino UNO R3, необходимая информация будет поступать на все данные будут передаваться в «Port Monitor». Сложного в схеме ничего нет, для подключения нужно две пары проводов. Первым делом подключается интерфейсный проводник I2C, SCL в A4 (Arduino UNO) и SDA в A5 (Arduino UNO), теперь подается напряжение питание GND к GND и VCC к 5V. Возможно подать и 3.3v, на этом подключение завершилось.

Для нормальной работы устройства DS3231 требуется библиотека, которая отсутствует в программе разработки Arduino, поэтому ее нужно скачать здесь и встроить в программу разработки. Скачать: DS1307RTC и Time

Настройка и установка времени DS3231

Прежде, чем включать устройство нужно запустить процесс программирования времени, для этого необходимо взять из библиотеки DS1307RTC в качестве примера файл. Делается это так: -> «Файл» -> «Примеры» -> «DS1307RTC» -> «SetTime», либо можно взять готовый код расположенный ниже.

Скачать скетч

DS3231 arduino подключение — теперь этот код нужно загрузить в контроллер Arduino, значение времени нужно взять с операционной системы, открываем «Мониторинг порта».

Программа разработки

В данной библиотеке имеется еще дополнительный файл для примера, открывается он также просто: DS1307RTC «Файл» —> «Примеры» —> «DS3231» —> «DS3231_Serial_Hard»

Скачать скетч

Опять же и этот код добавляем в контроллер Arduino, а затем открыть «Мониторинг порта»

Вот и все дела.

DS3231 – подключение часов реального времени | RadioLaba.ru

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

              #include <P16F628A.INC>

              LIST        p=16F628A    

              __CONFIG    H’3F10′           ;Конфигурация микроконтроллера

                                              

              errorlevel  -302              ;не выводить сообщения с ошибкой 302 в листинге

 

Sec           equ         0020h             ;вспомогательные регистры счета

Sec1          equ         0021h             ;

Sec2          equ         0022h             ;

scetbit       equ         0024h             ;вспомогательный регистр счета кол-ва бит  

perem         equ         0025h             ;вспомогательный регистр приема/передачи байта по spi, i2c                

temp          equ         0026h             ;регистр температуры

 

perem_1       equ         0027h             ;вспомогательный регистр двоично-десятичного преобр.

result        equ         0028h             ;вспомогательный регистр двоично-десятичного преобр.

 

dat_ind       equ         0029h             ;регистр данных для передачи по протоколу spi

adr_ind       equ         002Ah             ;регистр адреса для передачи по протоколу spi

 

second        equ         002Bh             ;регистр хранения секунд для установки времени

minut         equ         002Ch             ;регистр хранения минут для установки времени

hour          equ         002Dh             ;регистр хранения часов для установки времени

 

adr_i2c       equ         002Eh             ;регистры подпрограммы передачи данных интерфейса i2c

tmp_i2c       equ         002Fh

slave_adr     equ         0030h

data_i2c      equ         0031h

 

 

flag          equ         007Fh             ;регистр флагов

              

#DEFINE       int         PORTB,0           ;линия прерывания INT/SQW DS3231

#DEFINE       sda         PORTB,1           ;линия SDA для подключения DS3231

#DEFINE       scl         PORTB,2           ;линия SCL для подключения DS3231

#DEFINE       sda_io      TRISB,1           ;направление линии SDA

#DEFINE       scl_io      TRISB,2           ;направление линии SCL

 

#DEFINE       datai       PORTB,5           ;линия входа данных драйвера MAX7219

#DEFINE       cs          PORTB,6           ;линия выбора драйвера MAX7219

#DEFINE       clk         PORTB,7           ;линия тактирования драйвера MAX7219

 

#DEFINE       led         PORTB,4           ;светодиод ошибки i2c

#DEFINE       led_sec     PORTB,3           ;светодиод индикации хода часов 1Гц

 

#DEFINE       regim       PORTA,2           ;кнопка Индикация — смены режима индикации

#DEFINE       nast        PORTA,3           ;кнопка Настройка — входа в режим настройки времени

#DEFINE       ust         PORTA,4           ;кнопка Установка — установка значения часов

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

              org         0000h             ;начать выполнение программы с адреса 0000h

              goto        Start             ;переход на метку Start

          

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Основная программа

                                            

Start         movlw       b’00000000′       ;установка значений выходных защелок порта A    

              movwf       PORTA             ;

              movlw       b’01000000′       ;установка значений выходных защелок порта B    

              movwf       PORTB             ;

              

              movlw       b’00000111′       ;выключение компараторов

              movwf       CMCON             ;

 

              bsf         STATUS,RP0        ;выбрать 1-й банк    

              movlw       b’00000111′       ;настройка линий ввода\вывода порта B      

              movwf       TRISB             ;RB0-RB2 — на вход, остальные на выход

              movlw       b’11111111′       ;настройка линий ввода\вывода порта A  

              movwf       TRISA             ;все линии на вход                      

              bcf         STATUS,RP0        ;выбрать 0-й банк

                    

              clrf        flag              ;сброс регистра флагов

                          

              call        init_lcd          ;вызов подпрограммы инициализации драйвера (MAX7219)

              call        viv_not           ;вывод на индикаторы символов тире »  —— «

              

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

              

              movlw       b’11010000′       ;адрес устройства (DS3231)

              movwf       slave_adr

                                            ;Запись 4-х байт в регистры приема/передачи по i2c

                                            ;здесь выполняется настройка 1-го будильника, сигнал каждую секунду

              movlw       data_i2c          ;установка первого регистра приема/передачи по i2c

              movwf       FSR               ;

              movlw       b’10000000′       ;данные для регистра секунд 1-го будильника

              movwf       INDF              ;

              incf        FSR,F             ;

              movlw       b’10000000′       ;данные для регистра минут 1-го будильника

              movwf       INDF              ;

              incf        FSR,F             ;

              movlw       b’10000000′       ;данные для регистра часов 1-го будильника

              movwf       INDF              ;

              incf        FSR,F             ;

              movlw       b’10000000′       ;данные для регистра даты/дня недели 1-го будильника

              movwf       INDF              ;

                

              movlw       . 4                ;передача 4-х байта по i2c

              movwf       tmp_i2c           ;

              movlw       0x07              ;установка адреса регистра секунд 1-го будильника

              movwf       adr_i2c           ;

              call        write_i2c         ;вызов подпрограммы записи по интерфейсу i2c

              call        err_prov          ;проверка на ошибки записи/чтения I2C  

 

              movlw       .1                ;передача 1-го байта по i2c

              movwf       tmp_i2c           ;

              movlw       0x0E              ;установка адреса регистра Control

              movwf       adr_i2c           ;

              movlw       data_i2c          ;установка первого регистра приема/передачи по i2c

              movwf       FSR               ;

              movlw       b’00000101′       ;запуск тактового генератора, запрет функционирования вывода INT/SQW для

              movwf       INDF              ;режима питания от батареи, частота импульсов на выходе INT/SQW 1Гц,

                                            ;выход INT/SQW задействован для генерации прерываний по будильнику,

                                            ;разрешение прерываний по 1-му будильнику

              call        write_i2c         ;вызов подпрограммы записи по интерфейсу i2c

              call        err_prov          ;проверка на ошибки записи/чтения I2C    

 

met_2         movlw       . 1                ;передача 1-го байта по i2c

              movwf       tmp_i2c           ;

              movlw       0x0F              ;установка адреса регистра Status

              movwf       adr_i2c           ;

              movlw       data_i2c          ;установка первого регистра приема/передачи по i2c

              movwf       FSR               ;

              movlw       b’00000000′       ;сброс бита OSF, запрет генерирования импульсов на выходе EN32kHz,

              movwf       INDF              ;сброс флагов прерываний будильников A2F, A1F

              call        write_i2c         ;вызов подпрограммы записи по интерфейсу i2c

              call        err_prov          ;проверка на ошибки записи/чтения I2C        

 

met_1         btfsc       int               ;опрос линии прерывания будильника

              goto        met_3             ;

              bsf         led_sec           ;включение светодиода индикации хода часов

              goto        met_4             ;

met_3         bcf         led_sec           ;выключение светодиода индикации хода часов

 

              btfsc       nast              ;опрос кнопки настройки часов

              goto        met_5             ;

              call        nast_time         ;вызов подпрограммы установки времени

              goto        met_2             ;

 

met_5         btfsc       regim             ;опрос кнопки режима индикации

              goto        met_1             ;

met_6         call        paus_knp          ;

              btfss       regim             ;

              goto        met_6             ;

 

              btfss       flag,2            ;изменение значения флага режима индикации

              goto        met_7             ;

              bcf         flag,2            ;сброс флага индикации, режим отображения часов

              goto        met_1             ;

met_7         bsf         flag,2            ;установка флага индикации, режим отображения температуры и часов

              goto        met_1             ;

 

met_4         movlw       . 1                ;передача 1-го байта по i2c

              movwf       tmp_i2c           ;

              movlw       0x11              ;установка адреса старшего регистра температуры

              movwf       adr_i2c           ;

              call        read_i2c          ;вызов подпрограммы чтения по I2C

              call        err_prov          ;проверка на ошибки записи/чтения I2C

              

              movf        INDF,W            ;копирование значения температуры в регистр temp

              movwf       temp        

 

rd_time       movlw       .3                ;передача 3-х байт по i2c

              movwf       tmp_i2c           ;

              movlw       0x00              ;установка адреса регистра секунд

              movwf       adr_i2c           ;

              call        read_i2c          ;вызов подпрограммы чтения по I2C

              call        err_prov          ;проверка на ошибки записи/чтения I2C

 

              btfsc       flag,2            ;опрос флага режима индикации

              goto        met_8             ;

              call        vivod             ;вызов подпрограммы вывода значения часов на цифровое табло

              goto        met_2             ;

met_8         call        vivod_temp        ;вызов подпрограммы вывода температуры и часов на цифровое табло                  

              goto        met_2

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DS3231 Модуль RTC Распиновка, конфигурация, пример схемы и техническое описание

27 марта 2018 — 0 комментариев

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

      RTC означает Часы реального времени . Модули RTC представляют собой просто системы с памятью ВРЕМЕНИ и ДАТЫ, которые имеют настройку батареи, которая в отсутствие внешнего питания поддерживает работу модуля. Это поддерживает ВРЕМЯ и ДАТУ в актуальном состоянии. Таким образом, мы можем получать точные ВРЕМЯ и ДАТУ из модуля RTC, когда захотим.

       

      Конфигурация выводов DS3231 RTC

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

      Название контакта

      Описание

      ВКЦ

      Подключен к плюсу источника питания.

      ЗЕМЛЯ

      Подключен к земле.

      ПДД

      Контакт последовательных данных (интерфейс I2C)

      СКЛ

      Вывод серийных часов (интерфейс I2C)

      СКВ

      Выходной контакт прямоугольной волны

      32К

      Выход генератора 32K

       

      МОДУЛЬ DS3231 RTC Особенности

      • RTC считает секунды, минуты, часы и год
      • Точность: от +2 частей на миллион до -2 частей на миллион для 0°C до +40°C, от +3,5 частей на миллион до -3,5 частей на миллион для -40°C до +85°C
      • Цифровой датчик температуры с точностью ±3ºC
      • Два будильника по времени суток
      • Программируемый выход прямоугольной формы
      • Регистр для старения отделки
      • Интерфейс I2C 400 кГц
      • Низкое энергопотребление
      • Схема автоматического выключателя батареи при отключении питания
      • Резервная батарея

      • CR2032 со сроком службы от двух до трех лет
      • Объем для питья

       

      МОДУЛЬ DS3231 RTC Технические характеристики

      • Рабочее напряжение МОДУЛЯ DS3231: 2,3–5,5 В
      • Может работать при НИЗКОМ напряжении
      • Потребляет 500 нА на резервном аккумуляторе
      • Максимальное напряжение на SDA, SCL: VCC + 0,3 В
      • Рабочая температура: от -45°C до +80°C

       

      Примечание: Полную техническую информацию можно найти в 9Техническое описание модуля 0025 RTC приведено внизу этой страницы.

       

      Эквиваленты DS3231

      DS1302, DS1307 и т. д.

       

      Где используется МОДУЛЬ DS3231 RTC ?

      Для понимания использования МОДУЛЯ DS3231 RTC рассмотрите:

      Случай 1: Где вы хотите точное время и дату. Хотя на рынке представлено множество модулей RTC, DS3231 является одним из самых популярных благодаря своей точности. Чип обновляет время точнее, чем большинство модулей.

      Случай 2:  Если проблема связана с энергопотреблением. МОДУЛЬ DS3231 RTC потребляет очень мало энергии для работы. Таким образом, этот модуль можно использовать в мобильных системах.

      Вариант 3: Там, где требуется высокоскоростная связь. МОДУЛЬ DS3231 RTC, способный взаимодействовать с высокоскоростным интерфейсом TWI.

      DS3231 также может работать с приложениями поиска в 24-часовом и 12-часовом форматах в системах GPS. С двумя будильниками и датчиком температуры на борту использование модуля DS3231 продвигается даже дальше, чем другие модули.

       

      Как использовать МОДУЛЬ RTC DS3231

      Как упоминалось ранее, единственный способ связи с этим модулем RTC – через интерфейс I2C . Данные отправляются на модуль или принимаются от модуля по интерфейсу I2C. Таким образом, мы должны получить информацию о ДАТЕ и ВРЕМЕНИ через этот интерфейс. Принципиальная схема по умолчанию интерфейса модуля RTC DS3231 показана ниже.

       

      Как показано на принципиальной схеме модуль подключен к источнику питания +5В. Модуль может работать от регулируемой мощности +5 В, а более высокое напряжение может повредить модуль. Интерфейс I2C установлен, как показано на рисунке. Все, что вам нужно сделать, это подключить SDA модуля к SDA контроллера, а SCL подключить к SCL контроллера.

      Связь между контроллером и модулем очень сложная. Обычно информация отправляется или принимается байт за байтом. Поэтому идеально использовать библиотеки, написанные для модуля DS3231. Использование библиотек упрощает общение. Все, что вам нужно сделать, это загрузить эти библиотеки и вызывать их в программах. Как только заголовочный файл включен, контроллер сам выполняет связь и предоставляет вам дату и время. Будильник также можно легко установить или изменить с помощью библиотек.

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

       

      Приложения

      • Робототехника
      • Игры
      • серверов
      • Компьютерная периферия
      • GPS
      • Электросчетчики коммунальные

       

      2D-модель

      Размеры в миллиметрах



      Связанный пост

      Комментарии

      Arduino Модуль DS3231 RTC Tutorial

      В этом проекте я расскажу о модуле DS3231 RTC, важных компонентах и ​​функциях этого модуля и, наконец, покажу вам, как подключить модуль часов реального времени (RTC) DS3231 к Arduino.

      Краткое описание

      Введение

      Часы реального времени или RTC — это устройство для измерения времени в форме интегральной схемы или ИС. RTC является неотъемлемым компонентом многих критичных ко времени приложений и устройств, таких как серверы, GPS, регистраторы данных и т.д.

      С 8051 я использовал модуль DS1307 RTC в проекте под названием СИСТЕМА ПАРКОВКИ НА ОСНОВЕ RFID . Что касается Arduino, я использовал один и тот же DS1307 RTC в ARDUINO ALARM CLOCK и ARDUINO ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ. РУКОВОДСТВО ПО DS1307 . Если вам нужна краткая справка, вы можете пройти по предоставленным ссылкам.

      Кроме того, в учебнике по часам реального времени Arduino с использованием проекта DS1307 я говорил о необходимости RTC. Так что я больше не буду вдаваться в этот аспект. Я сразу перейду к интересующей меня ИС: ИС DS3231 RTC.

      Краткое примечание о микросхеме реального времени DS3231

      DS3231 — это микросхема реального времени, разработанная компанией Maxim Integrated. Это недорогая, чрезвычайно точная микросхема RTC со связью через интерфейс I2C. Интересной особенностью DS3231 RTC IC является то, что он имеет встроенный кварцевый генератор и датчик температуры, поэтому вам не нужно подключать внешний кварц.

        

      Доступен в пакете SO-16. Хотя для работы требуется только 8 контактов из доступных 16 контактов, интеграция кристалла делает ИС более громоздкой, и, следовательно, она упакована как 16-контактная ИС вместо 8-контактной ИС.

      На следующем рисунке показана схема контактов микросхемы RTC DS3231.

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

      Что касается описания контактов микросхемы DS3231, в следующей таблице дается простой обзор функций контактов.

      Номер контакта

      Название контакта

      Описание

      1

      32 кГц

      Выход 32 кГц

      2 В СС

      Контакт питания постоянного тока

      3

      INT/SQW Активное прерывание по низкому уровню или прямоугольный сигнал на выходе
      4 РСТ

      Активный НИЗКИЙ Сброс

      5 – 12

      НЗ Нет соединения

      13

      ЗЕМЛЯ

      Земля

      14 В БАТ

      Вход резервного питания от батареи

      15

      ПДД

      Последовательный ввод/вывод данных

      16

      СКЛ

      Последовательный ввод часов

      ПРИМЕЧАНИЕ: Контакты 5-12 являются размыкающими контактами. Их можно привязать к GND.

      Модуль DS3231 RTC

      Используя микросхему DS3231 в качестве основного компонента, несколько производителей разработали модули DS3231 RTC со всеми необходимыми компонентами. Почти все доступные сегодня модули состоят из дополнительной ИС 24С32Н (или чего-то подобного). Эта вторичная микросхема представляет собой микросхему EEPROM размером 32 КБ.

      Поскольку микросхемы RTC и EEPROM подключены через протокол I2C, вам не потребуются дополнительные контакты, поскольку оба этих устройства I2C могут действовать как ведомые, а микроконтроллер действует как ведущий.

      Модуль DS3231 RTC, используемый в этом проекте, показан на изображении ниже.

      Поскольку RTC предназначен для поддержания времени независимо от источника питания, вы можете подключить 3-вольтовую литиевую батарею CR2032 к IC RTC, чтобы часы тикали. В модуле DS3231 предусмотрена возможность подключения батареи с помощью держателя батареи, расположенного на задней панели.

      Компоненты и контакты модуля DS3231 RTC

      Как упоминалось ранее, микросхема DS3231 и микросхема EEPROM 24C32 являются основными компонентами типичной платы модуля DS3231 RTC. Кроме того, есть несколько других компонентов, таких как светодиод включения питания, несколько резисторов, конденсаторы, держатель батареи и контакты для подключения к микроконтроллеру.

      На следующем рисунке показаны компоненты и контакты модуля RTC DS3231.

      Взаимодействие модуля DS3231 RTC с Arduino

      Если вы помните более ранний проект с использованием адаптера карты MicroSD, я настроил простое приложение регистрации данных, в котором данные с датчика фиксируются и сохраняются на карте microSD в виде текстовый файл.

      Интегрируя часы реального времени, такие как DS3231, в вышеупомянутый проект, вы можете отслеживать журнал данных с точными сведениями о времени.

      Следовательно, интерфейс модуля DS3231 RTC с Arduino имеет множество применений и преимуществ.

      Принципиальная схема

      Необходимые компоненты
      • Arduino UNO
      • Модуль часов реального времени DS3231
      • ЖК-дисплей 16×2
      • Мини-макет
      • потенциометр 10 кОм
      • Соединительные провода
      Схема

      Во-первых, позвольте мне начать соединения между Arduino и DS3231. Поскольку интерфейс между ними — I2C, определите контакты I2C на плате Arduino (если вы используете любую другую плату, кроме UNO).

      В Arduino UNO A4 и A5 являются контактами SDA и SCL. Соедините эти контакты с соответствующими контактами SDA и SCL модуля DS3231. Также подключите VCC и GND модуля RTC к +5V и GND Arduino.

      Для просмотра вывода я использовал ЖК-модуль. Подключите контакты RS и E ЖК-дисплея к контактам 7 и 6. Подключите D4-D7 ЖК-дисплея к 5-2 Arduino.

      Код

      Я использовал специальную библиотеку под названием «RTClib» от Adafruit (которая является разветвленной версией библиотеки RTC от JeeLab).

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

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