ΠœΠΎΠ΄ΡƒΠ»ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (RTC) Π½Π° Π±Π°Π·Π΅ Ρ‡ΠΈΠΏΠΎΠ² DS3231 ΠΈΠ»ΠΈ DS1307 β€” Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Arduino, Π³Π΄Π΅ трСбуСтся Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ врСмя Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ. Π‘ΡƒΠ΄ΡŒ Ρ‚ΠΎ часы с Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ, систСма логирования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΡƒΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌ с расписаниСм β€” RTC-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ обСспСчит ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ…ΠΎΠ΄ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ основного питания благодаря встроСнной Π±Π°Ρ‚Π°Ρ€Π΅Π΅.

Однако ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ: врСмя сбиваСтся Ρ‡Π΅Ρ€Π΅Π· нСсколько Π΄Π½Π΅ΠΉ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ опрСдСляСтся ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ всС этапы ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ β€” ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° модуля Π΄ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π°, β€” Π° Ρ‚Π°ΠΊΠΆΠ΅ раскроСм сСкрСт ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ точности DS3231 Π΄ΠΎ Β±1 сСкунды Π² мСсяц (Π΄Π°, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ!).

Π’Ρ‹Π±ΠΎΡ€ RTC-модуля: DS3231 vs DS1307 β€” Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ для Arduino?

На Ρ€Ρ‹Π½ΠΊΠ΅ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ: Π½Π° Π±Π°Π·Π΅ DS3231 (Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ, с тСрмокомпСнсациСй) ΠΈ DS1307 (Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½Ρ‹ΠΉ, Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ). Π’ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ различия:

  • πŸ”‹ Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ: DS3231 тСряСт Β±2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π² Π³ΠΎΠ΄, DS1307 β€” Π΄ΠΎ Β±2 ΠΌΠΈΠ½ΡƒΡ‚ Π² мСсяц (Ρ€Π°Π·Π½ΠΈΡ†Π° Π² 12 Ρ€Π°Π·!).
  • 🌑️ ВСрмокомпСнсация: Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ DS3231 β€” автоматичСски ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.
  • πŸ’° Π¦Π΅Π½Π°: DS1307 дСшСвлС Π² 1.5–2 Ρ€Π°Π·Π°, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки для точности.
  • πŸ”Œ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ: ΠΎΠ±Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ I2C, Π½ΠΎ DS3231 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ SPI (Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с Arduino).

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ DS3231 β€” Π΅Π³ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π°Π²Π΄Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² Ρ†Π΅Π½Π΅. DS1307 ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для простых Π·Π°Π΄Π°Ρ‡, Π³Π΄Π΅ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ Π² 5–10 ΠΌΠΈΠ½ΡƒΡ‚ Π·Π° мСсяц Π½Π΅ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° дисплСС Π±Π΅Π· логирования).

πŸ“Š Какой RTC-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…?
  • DS3231
  • DS1307
  • Π”Ρ€ΡƒΠ³ΠΎΠΉ (Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях)
  • Π•Ρ‰Ρ‘ Π½Π΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»

НСобходимыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ инструмСнты

Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ RTC-модуля ΠΊ Arduino Uno/Nano Π²Π°ΠΌ понадобятся:

  • πŸ“Œ Arduino Uno, Nano ΠΈΠ»ΠΈ Mega (любая модСль с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ I2C).
  • ⏱️ ΠœΠΎΠ΄ΡƒΠ»ΡŒ DS3231 ΠΈΠ»ΠΈ DS1307 (с Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠΎΠΉ CR2032).
  • πŸ”Œ ΠŸΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠΈ Dupont (male-to-female ΠΈΠ»ΠΈ male-to-male, Π² зависимости ΠΎΡ‚ модуля).
  • πŸ’» Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RTClib (устанавливаСтся Ρ‡Π΅Ρ€Π΅Π· Arduino IDE).
  • πŸ”§ ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ (для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ напряТСния Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ, Ссли врСмя сбиваСтся).

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° качСство модуля: Π΄Π΅ΡˆΡ‘Π²Ρ‹Π΅ китайскиС ΠΊΠΎΠΏΠΈΠΈ DS3231 часто ΠΈΠ΄ΡƒΡ‚ с ΠΏΠΎΠ΄Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ‡ΠΈΠΏΠΎΠΌ DS1307 Π²Π½ΡƒΡ‚Ρ€ΠΈ! ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π½Π° микросхСмС ΠΈΠ»ΠΈ тСстом Π½Π° Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (см. Ρ€Π°Π·Π΄Π΅Π» ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…).

πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΊΡƒΠΏΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π΅ β€” ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с AliExpress часто приходят с разряТСнной ΠΈΠ»ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠΎΠΉ. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Ρ‘ Π½Π° Π½ΠΎΠ²ΡƒΡŽ CR2032 ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ использованиСм.

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ RTC ΠΊ Arduino: пошаговая инструкция

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ осущСствляСтся ΠΏΠΎ шинС I2C, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ всСго 2 ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°: SDA (Π΄Π°Π½Π½Ρ‹Π΅) ΠΈ SCL (Ρ‚Π°ΠΊΡ‚Ρ‹). На Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ подписаны, Π½ΠΎ Ссли Π½Π΅Ρ‚ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эту схСму:

ΠœΠΎΠ΄ΡƒΠ»ΡŒ RTC Arduino Uno/Nano ОписаниС
VCC 5V ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ модуля (3.3V–5V)
GND GND ЗСмля
SDA A4 Линия Π΄Π°Π½Π½Ρ‹Ρ… I2C
SCL A5 Линия Ρ‚Π°ΠΊΡ‚ΠΎΠ² I2C

Для Arduino Mega ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ SDA (20) ΠΈ SCL (21). Если ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ опрСдСляСтся, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ SDA/SCL (Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Π½Ρ‹ Π»ΠΈ мСстами)|

НапряТСниС Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ β‰₯ 2.8V)|

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΉ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ модуля|

УстановлСна Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RTClib-->

Π’Π°ΠΆΠ½ΠΎ: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ DS3231 ΠΈΠΌΠ΅ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ 32K (сигнал 32.768 ΠΊΠ“Ρ†) β€” Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ссли Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ внСшниС часы.

Установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ скСтч для RTC

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с RTC-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° RTClib ΠΎΡ‚ Adafruit. УстановитС Π΅Ρ‘ Ρ‡Π΅Ρ€Π΅Π· ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ (Π‘ΠΊΠ΅Ρ‚Ρ‡ β†’ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ β†’ Π£ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ) ΠΈΠ»ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ с GitHub.

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠΎΠ΄ для Π²Ρ‹Π²ΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Serial Monitor:

#include <Wire.h>

#include <RTClib.h>

RTC_DS3231 rtc; // Для DS1307 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ RTC_DS1307

void setup() {

Serial.begin(9600);

if (!rtc.begin()) {

Serial.println("RTC Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!");

while (1);

}

// РаскоммСнтируйтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку для установки Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС

// 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);

}

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя, раскоммСнтируйтС строку rtc.adjust(), Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ скСтч ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π·Π°Ρ‚Π΅ΠΌ снова Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Ρ‘. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ сброс Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Arduino.

πŸ’‘

Никогда Π½Π΅ устанавливайтС врСмя Π² Ρ†ΠΈΠΊΠ»Π΅ loop() β€” это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ постоянному сбросу сСкунд ΠΈ ΠΌΠΈΠ½ΡƒΡ‚, дСлая ΠΌΠΎΠ΄ΡƒΠ»ΡŒ бСсполСзным.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ RTC-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Π’ΠΎΡ‚ самыС распространённыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ способы ΠΈΡ… устранСния:

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если ΠΌΠΎΠ΄ΡƒΠ»ΡŒ DS3231 ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ врСмя с ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ 5 сСкунд Π² сутки, скорСС всСго, Ρƒ вас ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠ° ΠΏΠΎΠ΄ DS1307. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠ² Ρ‚ΠΎΠΊ потрСблСния: ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ DS3231 потрСбляСт ~150 мкА, ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠ° β€” Π΄ΠΎ 1 мА.
  • ❌ ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ опрСдСляСтся (RTC not found):
    • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ SDA/SCL (ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами).
    • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ установлСна Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠ° (напряТСниС β‰₯ 2.8V).
    • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ Π»ΠΈ адрСс 0x68 с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ I2C-устройствами (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сканСр I2C).
  • ❌ ВрСмя сбиваСтся послС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания:
    • Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΡƒ CR2032 β€” Π΅Ρ‘ ёмкости Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π½Π° 2–5 Π»Π΅Ρ‚, Π½ΠΎ Π΄Π΅ΡˆΡ‘Π²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ часто ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с разряТСнными.
    • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ паяныС ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ отходят).
  • ❌ ΠŸΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΠΎΠ»Π΅Π΅ 1 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π² нСдСлю:
    • Для DS1307: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ DS1307RTC с ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠ΅ΠΉ Ρ…ΠΎΠ΄Π°.
    • Для DS3231: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ (ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€Π΅Π²Π΅ >50Β°C Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΏΠ°Π΄Π°Π΅Ρ‚).

Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Ρ€Π΅ΡˆΠ΅Π½Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡˆΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΊΠΎΠ΄Π° для тСста точности (запуститС ΠΈ ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π½Π° 24 часа):

#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("Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°: "); Serial.print(rtc.getTemperature()); Serial.println("Β°C");

Serial.print("ВрСмя: ");

Serial.print(now.hour()); Serial.print(':'); Serial.print(now.minute()); Serial.print(':'); Serial.println(now.second());

delay(60000); // Π’Ρ‹Π²ΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ

}

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ возмоТности: Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊΠΈ, коррСкция Ρ…ΠΎΠ΄Π°, внСшниС прСрывания

ΠœΠΎΠ΄ΡƒΠ»ΡŒ DS3231 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для слоТных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²:

  • πŸ”” АппаратныС Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊΠΈ: ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ срабатываниС ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±Π΅Π· участия Arduino (экономит ΡΠ½Π΅Ρ€Π³ΠΈΡŽ Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Ρ… систСмах). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:
    rtc.setAlarm1(DateTime(2023, 12, 25, 8, 0, 0), DS3231_A1_Date);
  • βš™οΈ ΠšΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΡ Ρ…ΠΎΠ΄Π°: для DS1307 ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ частоту ΠΊΠ²Π°Ρ€Ρ†Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠ² кондСнсатор 20–100 ΠΏΠ€ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌΠΈ Xi ΠΈ Xo.
  • πŸ”„ Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ прСрывания: Π²Ρ‹Π²ΠΎΠ΄ SQW/INT Π½Π° DS3231 ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ сигнала 1 Π“Ρ†, 1 ΠΊΠ“Ρ† ΠΈΠ»ΠΈ ΠΏΠΎ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊΠ°.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊΠ°ΠΌΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² setup():

rtc.clearAlarm1();  // Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ настройки

rtc.setAlarm1(DateTime(now + TimeSpan(0, 1, 0, 0)), DS3231_A1_Hour); // Π‘ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊ Ρ‡Π΅Ρ€Π΅Π· 1 час

rtc.alarmInterrupt1(true); // Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π½Π° DS3231 Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ прСрывания Π² ΠΊΠΎΠ΄Π΅, ΠΈΠ½Π°Ρ‡Π΅ Arduino Π±ΡƒΠ΄Π΅Ρ‚ постоянно ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сигнал:
if (rtc.alarmFired(1)) {

rtc.clearAlarm1();

// Π’Π°Ρˆ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊΠ°

}

Как ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ RTC Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅?

Для максимальной автономности (Π΄ΠΎ 10 Π»Π΅Ρ‚ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ CR2032) ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ DS3231:

1. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ SQW (Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅): rtc.writeSqwPinMode(DS3231_OFF);

2. Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ частоту I2C Π΄ΠΎ 100 ΠΊΠ“Ρ† (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 400 ΠΊΠ“Ρ†).

3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ сна Arduino с ΠΏΡ€ΠΎΠ±ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ ΠΎΡ‚ RTC.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с RTC-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ

Π’ΠΎΡ‚ 3 ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π³Π΄Π΅ RTC-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ:

  • πŸ“Š Π”Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ с Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ: запись ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ DHT22 Π½Π° SD-ΠΊΠ°Ρ€Ρ‚Ρƒ с ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°.
  • ⏰ Π£ΠΌΠ½Ρ‹ΠΉ Π±ΡƒΠ΄ΠΈΠ»ΡŒΠ½ΠΈΠΊ: ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π»Π΅ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСта ΠΈΠ»ΠΈ ΠΌΡƒΠ·Ρ‹ΠΊΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ врСмя. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ TimeAlarms.
  • πŸš— Π’Ρ€Π΅ΠΊΠ΅Ρ€ ΠΏΠ°Ρ€ΠΊΠΎΠ²ΠΊΠΈ: фиксация Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ прибытия/убытия автомобиля с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° двиТСния HC-SR501.

Для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅Π·Π΅Π½ этот ΠΊΠΎΠ΄ для записи Π½Π° SD-ΠΊΠ°Ρ€Ρ‚Ρƒ:

#include <SPI.h>

#include <SD.h>

#include <RTClib.h>

RTC_DS3231 rtc;

File dataFile;

void setup() {

SD.begin(10); // CS Π½Π° ΠΏΠΈΠ½Π΅ 10

rtc.begin();

}

void loop() {

DateTime now = rtc.now();

dataFile = SD.open("log.csv", FILE_WRITE);

dataFile.print(now.year()); dataFile.print("-");

dataFile.print(now.month()); dataFile.print("-");

dataFile.println(now.day());

dataFile.close();

delay(3600000); // Π—Π°ΠΏΠΈΡΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ час

}

Для экономии мСста Π½Π° SD-ΠΊΠ°Ρ€Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ врСмя Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ UNIX timestamp:

uint32_t timestamp = now.unixtime();

dataFile.println(timestamp);

FAQ: ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° частыС вопросы

МоТно Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ RTC ΠΊ Arduino Ρ‡Π΅Ρ€Π΅Π· Software I2C?

Π”Π°, Π½ΠΎ это Π½Π΅ рСкомСндуСтся. Software I2C (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° SoftI2CMaster) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ сбоям чтСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ I2C (ΠΏΠΈΠ½Ρ‹ A4/A5 Π½Π° Uno/Nano).

Как ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ RTC с ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ΠΎΠΌ (NTP)?

Если ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΊ сСти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ NTPClient для пСриодичСской синхронизации:

#include <NTPClient.h>

#include <WiFiUdp.h>

WiFiUDP ntpUDP;

NTPClient timeClient(ntpUDP, "pool.ntp.org");

void syncRTC() {

timeClient.update();

rtc.adjust(DateTime(timeClient.getEpochTime()));

}

Π’Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ syncRTC() Ρ€Π°Π· Π² сутки для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Π΄Ρ€Π΅ΠΉΡ„Π°.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ DS3231 грССтся?

ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° DS3231 β€” Π΄ΠΎ 40Β°C. Если ΠΌΠΎΠ΄ΡƒΠ»ΡŒ нагрСваСтся сильнСС:

  1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ (особСнно ΠΎΠΊΠΎΠ»ΠΎ ΠΊΠ²Π°Ρ€Ρ†Π°).
  2. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ напряТСниС питания Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 5.5V.
  3. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ заводской Π±Ρ€Π°ΠΊ.

ΠŸΠ΅Ρ€Π΅Π³Ρ€Π΅Π² Π²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ!

Как ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ RTC ΠΊ заводским настройкам?

Для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ сброса DS3231 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ этот ΠΊΠΎΠ΄:

rtc.writeSqwPinMode(DS3231_OFF);

rtc.disable32K();

rtc.clearAlarm1();

rtc.clearAlarm2();

Для DS1307 достаточно ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Π½Π° 10 сСкунд (Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΡƒ Π½Π΅ Π²Ρ‹Π½ΠΈΠΌΠ°ΠΉΡ‚Π΅!).

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ RTC Π±Π΅Π· Arduino?

Π”Π°! ΠœΠΎΠ΄ΡƒΠ»ΡŒ DS3231 Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎ, Ссли ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ источнику питания 3.3–5V ΠΈ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠ΅. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ часы Π½Π° TM1637, Π³Π΄Π΅ Arduino Π½ΡƒΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ настройки Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° дальшС ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.