Инструкции

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

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

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

В сети

Пользователей: 175
Из них просматривают:
Аналоги: 97. Даташиты: 52. Инструкции: 1. Новости: 6. Остальное: 1. Профиль пользователя: 3. Форум: 15.
Участников: 2
Гостей: 173

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

Партнёры


Партнёры

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

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

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

DS3231

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


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

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



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


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

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)



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

Разное

Интересно

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

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