DS1302

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

 

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

 


Comments

5 responses to “DS1302 Real Time Clock”

  1. […] Например, можно использовать плату DS1302 Real Time Clock. […]

  2. […] Часы реального времени для Arduino ( для точного подсчета времени и учета для полива дня и ночи) […]

  3. Тимур avatar
    Тимур

    Подскажите пожалуйста как использовать, для запуска считывания данных с датчика с последующей записи данных на флешку (время, данные датчика). Хочу сделать дата логер температуры и влажности.

    1. Петр avatar

      Через какой промежуток времени вы хотите считывать данные?
      Если часто, можно просто поставить delay ( ) на промежуток между считыванием, а потом записывать на карту памяти данные датчиков и времени.

      http://robotday.ru/2015/05/30/%D0%BA%D0%B0%D1%80%D1%82%D0%B0-sd-%D0%B8-arduino-mega/

  4. […] Например, можно использовать плату DS1302 Real Time Clock. […]

Leave a Reply

Your email address will not be published. Required fields are marked *