Многие проекты или задачи требуют точного временного исполнения. Например, в системе автополива могут быть несколько режимов: утренний полив, дневной и вечерний. Значит, для стабильной работы всей этой системы и всего рабочего цикла необходимо, чтобы система, построенная на Arduino, имела возможность точно определять текущее время.
Данная функция в плате не была предусмотрена, поэтому такую проблему поможет решить RTC модуль часов реального времени. Он поможет составить план для Arduino касаемо того, что и в какое время должно включаться в работу или производить иные действия.
Ориентация во времени очень полезна не только в автополиве, но и в других системах: включение света или отопления по расписанию, включение электрочайника по таймеру и пр.
Рассмотрим работу модулей часов реального времени на примере DS1302. К этому семейству также можно отнести и другие модули, например DS1307, DS3231, при этом схема подключения и написание кода у всех идентичны.
Для реализации проекта из этой статьи нам потребуются следующие компоненты:
27 комментариев. Оставить новый
не верно указано подключение, у меня так:
iarduino_RTC time(RTC_DS1302,6,7,8); // Задаем правильно название нашего модуля, RST, CLK, DAT
Спасибо, поправили!
Здравствуйте ! Не правильно указываете параметры модуля. Вы пишите что “Контакт CLK подключают к цифровому пину на плате, например, к пину 6;
Контакт DAT подключают к цифровому пину на плате, например, к пину 7;
Контакт RESX подключают к цифровому пину на плате, например, к пину 8.” А в программе указываете “arduino_RTC time(RTC_DS1302,6,7,8);” а надо iarduino_RTC time(RTC_DS1302,8,6,7); // RST, CLK, DAT !!!!! еще и с ошибкой написанно “arduino_RTC time” а надо iarduino_RTC time
Здравствуйте! Название библиотеки написано без ошибки, по поводу контактов вы оказались правы – спасибо! Поправили!
Все нормально работает. Только во втором скетче в конце не хватает фигурной скобки.
Хватает, просто её закоментировали cлучайно в предыдущей строке
Возможно ли сделать на основе этого модуля что-то типа будильника. Например в стока-то часов делать это такой продолжительностью.
Здравствуйте! Да, такое безусловно возможно, с любыми алгоритмами, которые заходите применить.
Здравствуйте! После выключения питания Ардуино датчик не может сохранить начальные установки времени? Спасибо.
Здравствуйте. Проверьте исправность работы батареи
Вячеслав, если проблема с DS1307 не решена то могу помочь.
Спасибо. Неправильно задал вопрос. Модуль «RTC часы реального времени DS1302», есть автономный источник питания. После выключения питания “Ардуино” модуль продолжает работать автономно и при повторном включении питания не надо в setup() менять установки даты и времени, правильно я понял?
Вячеслав, у вас проблема с DS1307 решена? не считает без внешнего питания? Если нет то могу помочь.
Кто-нибудь подскажет, почему на другие пины не получается переназначить?
4,5,6,7,8,9 заняты. Пробовал на 10,11,12 и 1,2,3 – не работает. Только на 6,7,8 работает. Кто-нибудь пробовал другие пины?
всё заработал наконец. Вроде сто раз проверял подключение – всё-равно что-то напутал.
в программе изменить значение iarduino_RTC time(RTC_DS1302,8,6,7); 8,6,7 на что-то другое
Библиотека получилась довольно громоздкая, наверно потому что универсальная 😉
В результате у меня в часах динамическая индикация 4-х разрядный 7-сегментный индикатор 1,5″ и из-за вызова функции считывания времени происходит мерцание…
В результате нашел простенькую либу для Ds1302 и мерцание прекратилось!
В общем если в программе где-то критично время выполнения, лучше использовать более специализированные библиотеки.
Какую библиотеку вы использовали?
Добрый день!
Хочу сделать для ребенка освещение коридора в ночное время, для этого есть ARDNANO, модуль часов ds1302, PIR HC-SR501, реле нагрузки. Немогу найти схему подключения и скетч. Помогите кто знает. Желательно на почту ere@bk.ru
Забыл сказать, датчик движения должен срабатывать в определенный интервал времени, например с 21:00 до 08:00
Я написал программы загрузил и что дальше делать как время посмотреть я так и не понял подскажите пожалуйста
Пиши, будем тренироваться)
здравствуйте, подскажите пожалуйста как считать часы в переменную
есть часы но они без памяти времени. вопрос. Эту штукень можно к часам примутить чтоб время не збивалось при отключении света. просто смртрею на других часах есть время памяти на такой микррсхеме. Вроде как и схема совпадает. может можно что замутить. где только взять в часах data lsk и rct . ага. Да?
Здравствуйте! Вы можете записывать данные с часов в EEPROM подключенного микроконтроллера или на SPI Flash
delay в конце можно убрать, ведь всё равно выыводится только когда миллисекунды делятся на 1000. А без него точнее.
нету библиотеки проходя по ссылки