TXR0302044002
Часы реального времени - электронная схема, предназначенная для учета времени, даты, дня недели и др. В общем-то RTC (real time clock - часы реального времени) могут быть реализованы и без специализированных устройств, но использование отдельной микросхемы позволяет добиться более низкого энергопотребления, освободить ресурсы процессора для решения других задач и добиться более высокой точности.
Модуль выполнен на чипе DS1302. Доступны: секунды, минуты, часы AM/PM, день, месяц, год ( с учетом високосных лет). Календарь до 2100 года. Взаимодействие c контролером происходит через последовательный интерфейс.
Характеристики:
- Рабочее напряжение от 2 до 5.5 Вольт
- Рабочий ток при 2 В меньше 300 nA.
- Трех проводной интерфейс SCLK, I/O, RST. TTL совместим с 5 Вольт
- Кварц 32.768 кГц
В комплекте идёт батарейка.
Как работать с этим модулем?
Просто!
Взято отсюда: http://kazus.ru/shemes/showpage/0/1206/1.html
Собственно говоря скетч таков:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// DS1302_LCD (C)2010 Henning Karlsen
// web: http://www.henningkarlsen.com/electronics
//
// A quick demo of how to use my DS1302-library to make a quick
// clock using a DS1302 and a 20x2 LCD.
//
// Соответствие пинов часов и экрана пинпм Ардуино.
// DS1302: CE pin -> Arduino Digital 3
// I/O pin -> Arduino Digital 1
// SCLK pin -> Arduino Digital 0
// LCD: DB7 -> Arduino Digital 13
// DB6 -> Arduino Digital 12
// DB5 -> Arduino Digital 11
// DB4 -> Arduino Digital 10
// E -> Arduino Digital 5
// RS -> Arduino Digital 4
#include
#include
// Инициализация пинов часов
DS1302 rtc(3, 1, 0);
// Инициализация пинов экрана
LiquidCrystal lcd(4, 5, 10, 11, 12, 13);
void setup()
{
// Запуск часов
rtc.halt(false);
rtc.writeProtect(false);
// Запуск экрана с указанием количества символов и строк
lcd.begin(20, 2);
// Три нижние строчки в первый раз раскомментированы, в них указываем текущую дату и время. Второй раз - закомментруем.
//rtc.setDOW(THURSDAY); // День недели, если пятница, то FRIDAY на русском не писать!
//rtc.setTime(11, 41, 0); // Часы, минуты, секунды 24-часовой формат.
//rtc.setDate(13, 6, 2013); // Дата. ЦИФРАМИ!!! Ноль перед одиночной цифрой можно не ставить!
}
void loop()
{
// Display time centered on the upper line
lcd.setCursor(6, 0); // Устанавливаем курсор для печати времени в верхней строчке
lcd.print(rtc.getTimeStr()); // Печатаем время
// Display abbreviated Day-of-Week in the lower left corner
lcd.setCursor(0, 1); // Устанавливаем курсор слева внизу для печати дня недели
lcd.print(rtc.getDOWStr(FORMAT_LONG)); // Печатаем день недели полностью, благо экран позволяет.
// Display date in the lower right corner
lcd.setCursor(9, 1); // Устанавливаем курсор для печати даты
lcd.print(rtc.getDateStr()); // Печатаем дату
// Wait one second before repeating
delay (1000); // Пауза 1 секунда и все по новой!
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Описание микросхемы DS1302 в формате PDF