DS3231: модуль реального времени на Arduino

DS3231 — высокоточный RTC с I2C для отслеживания времени в проектах Arduino. Подходит для часов, логгеров, автоматизации. Точность ±2 минуты/год, батарея CR2032.

TCXO, EEPROM 4 КБ, будильники, температура. Библиотека RTClib.

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

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

  • Модуль DS3231
  • Arduino (Uno, Nano или другая)
  • Батарея CR2032
  • Провода

Подключение

  • VCC: К 5V Arduino.
  • GND: К GND Arduino.
  • SDA: К A4 (Uno).
  • SCL: К A5 (Uno).

Как это работает

  1. I2C (адрес 0x68) передаёт время.
  2. TCXO компенсирует температуру.
  3. Батарея сохраняет ход при отключении.
  4. Будильники на INT/SQW.

Пример кода

// Чтение DS3231
#include <RTClib.h>
RTC_DS3231 rtc;

void setup() {
  Serial.begin(9600);
  rtc.begin();
  // rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // Установка времени
}

void loop() {
  DateTime now = rtc.now();
  Serial.print(now.year()); Serial.print('/');
  Serial.print(now.month()); Serial.print('/');
  Serial.print(now.day()); Serial.print(' ');
  Serial.print(now.hour()); Serial.print(':');
  Serial.print(now.minute()); Serial.print(':');
  Serial.println(now.second());
  delay(1000);
}
Инициализирует модуль реального времени DS3231 и считывает из него текущие дату и время.
Каждую секунду время выводится в Serial Monitor в формате ГГГГ/ММ/ДД ЧЧ:ММ:СС.
Закомментированная строка rtc.adjust(…) используется для однократной установки времени в RTC.

Разбор кода

RTClib.h: Библиотека для DS3231.
rtc.now(): Текущее время.
Serial.print: Вывод в монитор.
delay(1000): Обновление раз в секунду.

Преимущества

  • Точность ±2 ppm.
  • Батарея до 8 лет.
  • EEPROM 4 КБ.
  • Температура ±3°C.
  • Выход 32 кГц.

Применение

  • Цифровые часы.
  • Логгеры данных.
  • Таймеры полива.
  • Будильники IoT.

Заключение

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

FAQ — модуль времени DS3231 для Arduino

Что такое DS3231?

DS3231 — высокоточный RTC-модуль с интерфейсом I2C для отслеживания времени и даты. Оснащён температурно-компенсированным генератором, батарейным питанием и функциями будильников.

Как подключить DS3231 к Arduino?

DS3231 подключается через I2C: SDA к A4 и SCL к A5 на Arduino Uno (на других платах линии SDA/SCL выделены отдельно). Также подключаются VCC и GND, а батарея CR2032 обеспечивает ход часов при отключении питания.

Как работает DS3231?

Чип поддерживает отсчёт времени и даты, используя встроенный генератор с температурной компенсацией. Через I2C (адрес 0x68) Arduino считывает текущее время. При отключении внешнего питания чип продолжает работу от батарейки.

Как установить время на DS3231?

Время можно установить функцией rtc.adjust() из библиотеки RTClib, передав текущее время. Обычно строка с установкой первоначально раскомментируется, загружается в Arduino, затем снова комментируется, чтобы не сбрасывать время при каждом запуске.

Какая точность у DS3231?

DS3231 имеет точность около ±2 ppm, что соответствует примерно ±2 минутам в год. Точность сохраняется благодаря температурной компенсации.

Для чего нужна батарейка CR2032?

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

📁 Скачать примеры

Вам также может понравиться: