DS1302 модуль годинника реального часу
⏰ DS1302 модуль годинника реального часу
Точне відстеження часу з резервним живленням для Arduino та інших мікроконтролерів
Загальний опис
DS1302 модуль годинника реального часу – це надійний електронний компонент, що забезпечує точний відлік часу та дати для ваших мікроконтролерних проєктів. Модуль використовує високоякісний чіп DS1302, який підтримує повний облік часових параметрів: секунди, хвилини, години, день тижня, дату, місяць та рік з автоматичною компенсацією високосного року до 2100 року. Особливістю модуля є наявність резервного живлення від батареї, яке дозволяє зберігати точний час навіть при відключенні основного живлення вашого пристрою. Додатково модуль оснащений 31 байтом статичної RAM-пам'яті для зберігання користувацьких даних, що робить його ідеальним не лише для відстеження часу, але й для зберігання невеликих об'ємів конфігураційної інформації чи логів. З'єднання з мікроконтролером здійснюється через простий 3-дротовий серійний інтерфейс, що забезпечує легку інтеграцію з Arduino, ESP32, Raspberry Pi та іншими популярними платформами. Завдяки низькому енергоспоживанню та наявності функції підзарядки батареї, DS1302 є оптимальним вибором для проєктів, де критично важливо мати надійний відлік часу з мінімальними вимогами до енергоспоживання.
✅ Технічні переваги:
- • Повноцінний календар – модуль забезпечує облік секунд, хвилин, годин, дня тижня, дати, місяця та року з автоматичною компенсацією високосного року до 2100 року, що дозволяє створювати проєкти з точним обліком часу на десятиліття вперед
- • Резервне живлення – вбудована підтримка батареї (зазвичай CR2032) гарантує безперервну роботу годинника навіть при відключенні основного живлення, що ідеально підходить для систем з періодичним вимкненням або перезавантаженням
- • Мінімальне енергоспоживання – споживання менше 1µW для підтримки даних і часу робить DS1302 ідеальним для проєктів з автономним живленням, забезпечуючи тривалий термін роботи батареї без необхідності частої заміни
- • Вбудована пам'ять – наявність 31 байта статичної RAM дозволяє зберігати користувацькі дані, налаштування або короткі логи, що розширює функціональність модуля за межі простого годинника
- • Гнучкість форматів – підтримка 24-годинного або 12-годинного формату часу з індикацією AM/PM дозволяє адаптувати модуль до потреб конкретного проєкту та вподобань користувача
- • Схема тривалого заряджання – вбудована функція дозволяє підзаряджати батарею від основного живлення, що значно подовжує термін служби резервного джерела енергії та зменшує необхідність обслуговування
- • Простота інтеграції – 3-дротовий серійний інтерфейс (CE, IO, SCLK) забезпечує легке підключення до більшості мікроконтролерів, а наявність готових бібліотек для Arduino спрощує програмування та скорочує час розробки
🔧 Ідеальне рішення для:
Цифрові годинники
Системи будильників
Автоматизація дому
Логування даних
Погодні станції
Таймери та планувальники
Системи доступу
IoT пристрої
📦 Детальні технічні характеристики:
- Чіп: DS1302 годинник реального часу
- Функції часу:
- Секунди (0-59)
- Хвилини (0-59)
- Години (1-12 + AM/PM або 0-23)
- День тижня (1-7)
- Дата (1-31)
- Місяць (1-12)
- Рік (00-99)
- Формат часу: 12-годинний (AM/PM) або 24-годинний (селективний)
- Календар: Автоматична компенсація високосного року до 2100 року
- Додаткова пам'ять: 31 байт статичної RAM для зберігання користувацьких даних
- Інтерфейс: 3-дротовий серійний (CE, IO, SCLK)
- Напруга живлення:
- Основне живлення: 2.0V до 5.5V
- Резервне живлення: 2.0V до 3.5V (оптимально 3.0V)
- Енергоспоживання:
- Режим активності: <1.5мА при 5V
- Режим резервного живлення: <1µW при 3.0V
- Резервне живлення: Підтримка батареї типу CR2032 (входить/не входить до комплекту)
- Функція підзарядки: Вбудована схема тривалого заряджання для підзаряджання батареї
- Робоча температура: -40°C до +85°C
- Точність: Залежить від точності кристалу 32.768 кГц
- Габарити модуля: Приблизно 22мм x 28мм x 8мм (Д x Ш x В)
- Піни модуля:
- VCC: Основне живлення (2.0V-5.5V)
- GND: Заземлення
- CLK: Вхід тактового сигналу (SCLK)
- DAT: Вхід/вихід даних (IO)
- RST: Сигнал скидання/активації (CE)
- Сумісність: Arduino, Raspberry Pi, ESP8266, ESP32, STM32 та інші мікроконтролери
- Підтримувані бібліотеки: "Rtc by Makuna", "DS1302RTC", "Time" та інші для Arduino
📊 Порівняння з іншими годинниками реального часу:
| Характеристика | DS1302 | DS1307 | DS3231 |
|---|---|---|---|
| Інтерфейс | 3-дротовий серійний | I2C | I2C |
| Статична RAM | 31 байт | 56 байт | 0 байт |
| Точність | Стандартна | Стандартна | Висока (температурна компенсація) |
| Функція підзарядки батареї | Так | Ні | Ні |
| Робоча напруга | 2.0V-5.5V | 4.5V-5.5V | 2.3V-5.5V |
| Вбудований датчик температури | Ні | Ні | Так |
| Програмовані будильники | Немає | 1 будильник | 2 будильники |
| Простота підключення | Середня | Висока | Висока |
💻 Приклад коду для Arduino:
Нижче наведено простий приклад коду для Arduino з використанням бібліотеки DS1302RTC для встановлення та читання часу:
#include
#include
#include
#include
// Піни для підключення модуля DS1302 (CLK, DAT, RST)
#define CLK_PIN 5
#define DAT_PIN 4
#define RST_PIN 2
// Створюємо об'єкт RTC
DS1302RTC rtc(RST_PIN, DAT_PIN, CLK_PIN);
void setup() {
Serial.begin(9600);
// Скидаємо захист запису
rtc.writeProtect(false);
// Запускаємо годинник, якщо він зупинений
rtc.halt(false);
// Перевіряємо, чи працює годинник
if (rtc.haltRTC()) {
Serial.println("Годинник зупинено. Встановлюємо час...");
// Встановлюємо час. Формат: години, хвилини, секунди, день, місяць, рік
// Наприклад, 15:30:00, 25 грудня 2023 року
tmElements_t tm;
tm.Hour = 15;
tm.Minute = 30;
tm.Second = 0;
tm.Day = 25;
tm.Month = 12;
tm.Year = 2023 - 1970; // від 1970 року
rtc.write(tm);
}
}
void loop() {
// Читаємо час з модуля
tmElements_t tm;
if (rtc.read(tm)) {
// Виводимо у серійний порт дату та час
Serial.print("Час: ");
print2digits(tm.Hour);
Serial.print(':');
print2digits(tm.Minute);
Serial.print(':');
print2digits(tm.Second);
Serial.print(", Дата: ");
Serial.print(tm.Day);
Serial.print('/');
Serial.print(tm.Month);
Serial.print('/');
Serial.println(tmYearToCalendar(tm.Year));
} else {
if (rtc.chipPresent()) {
Serial.println("DS1302 працює, але ще не налаштований");
} else {
Serial.println("DS1302 не виявлено");
}
}
delay(1000); // Оновлюємо кожну секунду
}
// Функція для форматування цифр з додаванням нуля
void print2digits(int number) {
if (number < 10) {
Serial.print('0');
}
Serial.print(number);
}
Цей код ініціалізує модуль DS1302, встановлює час (якщо годинник зупинено) та циклічно зчитує й виводить поточний час і дату в серійний монітор. Ви можете адаптувати його для свого проєкту, додавши відображення на дисплеї або використання часу для керування пристроями.
DS1302 модуль годинника реального часу – це надійне рішення для точного відліку часу у ваших мікроконтролерних проєктах. Завдяки резервному живленню від батареї, низькому енергоспоживанню та наявності вбудованої пам'яті, цей модуль забезпечить безперебійну роботу ваших таймерів, годинників, систем автоматизації та пристроїв для логування даних. Додайте функцію точного відліку часу до ваших Arduino проєктів вже сьогодні!
Відгуків про цей товар ще не було.
Немає відгуків про цей товар, станьте першим, залиште свій відгук.
Немає питань про даний товар, станьте першим і задайте своє питання.
FAQ (часті запитання)
-
Чому модуль DS1302 показує постійний час і навіть нагрівається?
-
Чому DS1302 відраховує час надто повільно?
-
Як зробити, щоб DS1302 зберігав правильний час після відключення живлення (з підключеною батарейкою)?
-
Як тимчасово зупинити хід годинника DS1302 і потім продовжити відлік з того ж моменту?