Функции модуля RTC DS3231

Модуль часов реального времени DS3231 отличается высокой точностью и низким энергопотреблением. Этот модуль RTC поддерживает информацию о секундах, минутах, часах, дне, дате, месяце и годе. В этом модуле дата устанавливается исходя из того, 29, 30 или 31 день в месяце, а также високосный год или нет. Этот модуль можно использовать в 12-часовом и 24-часовом форматах.
На рынке доступен модуль DS3231 двух различных типов. На самом деле между этими двумя типами нет разницы с точки зрения функциональности и работы, а различаются только внешний вид и назначение контактов.

Распиновка модуля RTC DS3231
Один из типов модуля DS3231 RTC имеет 6 контактов:
- INT : выход прерывания
- COT : Тактовый выход
- SCL : последовательный тактовый ввод для протокола I2C
- SDA : последовательный ввод/вывод данных для протокола I2C
- VCC : Питание модуля — 5 В
- Земля : Земля
Вы можете увидеть распиновку этого модуля на изображении.

Другой тип модуля DS3231 имеет 5 контактов:
- VCC : Питание модуля – 5 В
- SCL : последовательный тактовый ввод для протокола I2C
- SDA : последовательный ввод/вывод данных для протокола I2C
- НК : не используется
- Земля : Земля
Вы можете увидеть распиновку этого модуля на изображении.

Требуемые материалы
- Ардуино UNO
- Модуль часов реального времени DS3231 I2C RTC
- Модуль часов реального времени DS3231 RTC для Arduino и Raspberry Pi
- Перемычка между мужчинами и женщинами

Взаимодействие модуля DS3231 RTC с Arduino
Следующие схемы показывают, как вы должны подключить Arduino к модулю DS3231. Соедините провода соответствующим образом.


Установка библиотеки
С этой части все одинаково для обоих типов модуля DS3231 RTC. Загрузите DS3231_library по ссылке ниже. Затем перейдите в «Включить библиотеку» и установите ее.
Файл библиотеки модуля RTC DS3231

Загрузите следующий код в Arduino. Затем откройте серийный монитор.
/* modified on Nov 22, 2020 Modified by MehranMaleki from Arduino Examples Home */ #include#include struct ts t; void setup() { Serial.begin(9600); Wire.begin(); DS3231_init(DS3231_CONTROL_INTCN); /*---------------------------------------------------------------------------- In order to synchronise your clock module, insert timetable values below ! ----------------------------------------------------------------------------*/ t.hour=3; t.min=0; t.sec=0; t.mday=14; t.mon=11; t.year=2020; DS3231_set(t); } void loop() { DS3231_get(&t); Serial.print("Date : "); Serial.print(t.mday); Serial.print("/"); Serial.print(t.mon); Serial.print("/"); Serial.print(t.year); Serial.print("\t Hour : "); Serial.print(t.hour); Serial.print(":"); Serial.print(t.min); Serial.print("."); Serial.println(t.sec); delay(1000); }
В этом коде, во-первых, информация о времени, включая секунды, минуты, день, месяц, год и столетие, устанавливается в качестве отправной точки, и модуль начинает работать и обновляется каждую секунду. Затем каждую секунду информация поступает от модуля и отображается в Serial Monitor.
Вывод следующий.

Теги: #arduino