Инструкции

Справочный раздел

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

Разделы инструкций

В сети

Пользователей: 255
Из них просматривают:
Аналоги: 52. Видео: 1. Даташиты: 46. Инструкции: 12. Новости: 56. Обзор: 1. Остальное: 5. Производители: 32. Профиль пользователя: 7. Расчёты: 2. Форум: 41.
Участников: 2
Гостей: 253

Google , Яндекс , далее...
Рекорд 3921 человек онлайн установлен 06.03.2026.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

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

DS3231

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


RTC (Real Time Clock) — это микросхема с кварцевым резонатором и батарейкой, которая отслеживает текущее время и дату даже при выключенном питании. Популярные модули: DS1307, DS3231.

  • DS1307 – простой, но менее точный (дрейф до минут в месяц).
  • DS3231 – высокоточный, с температурной компенсацией (дрейф всего несколько секунд в год).



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


Модули DS1307/DS3231 работают по I²C, поэтому подключение одинаковое:

RTC выводArduino Nano
VCC5V (или 3.3В для некоторых модулей)
GNDGND
SDAA4
SCLA5



Дополнительные выводы у DS3231:

RTC выводArduino Nano
32kВыход генератора 32768 Гц
SQWВыход прямоугольного сигнала. Частота задается с помощью регистра управления 0x0E и может составлять 1, 1024, 4096 или 8192 Гц



Пример скетча (с библиотекой RTClib)


Устанавливается через Arduino IDE → Менеджер библиотек → RTClib (от Adafruit)

#include <Wire.h>
#include "RTClib.h"

RTC_DS3231 rtc;

void setup() {
  Serial.begin(9600);
  if (!rtc.begin()) {
    Serial.println("RTC не найден!");
    while (1);
  }

  if (rtc.lostPower()) {
    Serial.println("RTC потерял питание, установка времени!");
    // Устанавливаем время компиляции скетча
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }
}

void loop() {
  DateTime now = rtc.now();

  Serial.print(now.day());
  Serial.print('.');
  Serial.print(now.month());
  Serial.print('.');
  Serial.print(now.year());
  Serial.print(" ");
  Serial.print(now.hour());
  Serial.print(':');
  Serial.print(now.minute());
  Serial.print(':');
  Serial.println(now.second());

  delay(1000);
}



Основные команды библиотеки RTClib


Объекты

RTC_DS3231 rtc; // для DS3231
RTC_DS1307 rtc; // для DS1307



Инициализация

rtc.begin(); // запуск модуля
rtc.lostPower(); // проверка: потерял ли питание
rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // установка времени (по времени компиляции)
rtc.adjust(DateTime(2025, 9, 22, 21, 30, 0)); // установка вручную (год, месяц, день, час, минута, секунда)



Получение времени

DateTime now = rtc.now();
now.year(); // год
now.month(); // месяц
now.day(); // день
now.hour(); // часы
now.minute(); // минуты
now.second(); // секунды
now.unixtime(); // время в формате UNIX



DS3231 дополнительные возможности

rtc.getTemperature(); // получить температуру (°C)


 

Скачать даташит:

DS1307

DS1307(рус)

DS3231

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

При пайке деталей над горловиной кинескопа накройте ее куском материи.
Этим Вы убережёте кинескоп от случайно падающего расплавленного припоя и, следовательно, от трещин в его стекле.

Похожие инструкции