Часы-будильник на модуле RTC DS1302 |
Цель этого проекта - освоить работу с модулем часов реального времени (Real Time Clock) на базе чипа DS1302 от компании Maxim Integrated. ![]() Модуль часов реального времени DS1302 На выходе проекта мы получим часы-будильник, на экране которого можно увидеть текущее время, дату и день недели, а также комнатную температуру. Функция будильника имеет широкий спектр настроек : от одиночного включения до срабатывания в определенный день недели. В качестве источника сигнала используется пьезопищалка и светодиод. Система позволяет настраивать все необходимые параметры и записывать их в память Arduino. СОСТАВ СИСТЕМЫPLC Arduino UNO с шилдом Sensor Shield v 5.0 (питание 7-12 В постоянного тока), LCD-дисплей с шиной I2C, DC-DC конвертер для питания дисплея, пьезопищалки и светодиода, кнопочный пост с тремя кнопками и модуль часов реального времени. Для работы этого модуля нужна батарейка CR2032 на 3 вольта. Измерение температуры производится самодельным температурным преобразователем. |
КАК РАБОТАЕТ |
При подаче питания на Arduino во время приветственной заставки вы услышите проверочный сигнал зуммера и увидите, как загорится светодиод. Если это самое первое включение, вам надо зайти в настройки часов и выставить текущую дату и время. Далее вы можете пользоваться устройством, как обычными часами, включая функцию будильника. ![]() Часы-будильник на базе RTC DS1302 |
КНОПКИ УПРАВЛЕНИЯ |
Управлять системой можно с помощью трех кнопок : НАСТРОЙКИ, ВВЕРХ и ВНИЗ. Рассмотрим их функции подробно : Кнопка НАСТРОЙКИПри нажатии этой кнопки вы попадете в меню настроек и будете циклично переходить по пунктам меню. После последнего пункта меню вы снова вернетесь на основной экран (время, дата и температура). Так как количество пунктов меню довольно много, все они разбиты на четыре логические группы : установка будильника, настройка часов и даты, калибровка термодатчика и сохранение/загрузка. Каждый блок предваряет приветственный экран, от куда вы можете сразу перейти к следующей группе настроек (кнопка ВВЕРХ) или выйти из настроек (кнопка ВНИЗ). Все цифровые параметры имеют верхнюю и нижнюю границы, за которые вы выйти не сможете. Изменения параметров будильника и термодатчика сразу принимаются системой, подтверждение не нужно. Обратите внимание, верхнюю и нижнюю границы, а также значения по умолчанию вы можете сами изменять в скетче. Имейте в виду, на время нахождения в настройках будильник отключается. Пройдемся по пунктам меню Настройки.
Кнопки ВВЕРХ-ВНИЗВ настройках этими кнопками меняются значения параметров. В основном экране при нажатии кнопки ВВЕРХ вы увидите настройки будильника, а кнопкой ВНИЗ можно остановить сигнал будильника. |
ИНДИКАЦИЯ LCD |
![]() Индикация LCD |
ПОДКЛЮЧЕНИЕ |
Здесь приведено соединение всех элементов системы управления, Arduino (через шилд), модуля часов и датчика температуры. В виде схемы подключение представлено ниже. Плата Arduino и Sensor-shield
Часы реального времени RTC DS1302
![]() Схема подключения будильника |
ПЛАТА ДЛЯ ДАТЧИКА |
Для удобства использования сигнального зуммера и светодиода вы можете собрать небольшую плату. Схема монтажа представлена ниже. ![]() Схема пайки сигналки на макетной плате Примечания :
|
ЧТО НУЖНО ДЛЯ ПРОЕКТА |
|
СКЕТЧ |
Ниже представлен скетч системы управления. В этом окне он неудобочитаем, поэтому скачать его в формате ino вы можете по этой ссылке. Для работы этого скетча вам понадобятся дополнительные библиотеки :
Если есть возможность, проверьте эти библиотеки на наличие обновлений. |
СКЕТЧ ДЛЯ НАСТРОЙКИ МОДУЛЯ RTC DS1302 |
Ниже представлен скетч для настройки модуля DS1302 (прошивка времени, даты и дня недели). Это может понадобиться, если вы не хотите включать в свою программу возможность настройки часов, или вам нужно быстро перепрошить сторонний модуль. В этом окне скетч неудобочитаем, поэтому скачать его в формате ino вы можете по этой ссылке. |
|