DS1302 Real Time Clock

Легкое подключение, программирование и использование часов реального времени DS1302.Использование DS1302 на платах Arduino.

 

Микроконтроллер Arduino не имеет встроенных часов реального времени.
Со временем в этой плате обычно работает функция millis().
Если функционала millis() недостаточно, необходимо использовать отдельную плату часов реального времени.

Например, плату на основе микросхемы DS1302.

DS1302

DS1302 Real Time Clock

Часы реального времени могут использовать питание платы или собственный элемент питания.

Подключение (в данном примере – подключение RTC на основе DS 1302 к Arduino Mega 2560) :

VCC    – Питание (+5V)
GND   – Земля (GND)
CLK    – К цифровому пину Arduino ( в примере – пин 47, Arduino MEGA 2560)
DAT    – К цифровому пину Arduino ( в примере – пин 46, Arduino MEGA 2560)
RST    – К цифровому пину Arduino ( в примере – пин 45, Arduino MEGA 2560)

 

 

Программирование:

Используем библиотеку DS1302 RTC library for Arduino, автор – msparks.

Библиотека позволяет использовать в программе следующие данные с микросхемы DS1302 часов реального времени:

  • time.yr     – текущий год
  • time.hr     – часы
  • time.min  – минуты
  • time.sec    – секунды
  • time.mon – порядковый номер месяца
  • time.date  – число
  • time.day   – порядковый номер дня недели

 

#include <DS1302.h>

DS1302 rtc(45, 46, 47);


void setup()
{
    Serial.begin(9600);
}


void loop()
{
    Time t = rtc.time();
    Serial.println(t.yr);
    Serial.println(t.hr);
    Serial.println(t.min);
    Serial.println(t.sec);
    Serial.println(t.mon);
    Serial.println(t.date);
    Serial.println(t.day);

    delay(1000);
}

Простая программа для считывания времени с DS1302

 

В этом примере мы выводим значения времени в последовательный порт.
Можно использовать для вывода времени семисегментные индикаторы.