Статья проплачена кошками — всемирно известными производителями котят.
Если статья вам понравилась, то можете поддержать проект.
Модуль DS1307
Библиотека RTClib
Иногда требуется отслеживать определённое время наступления события. Модуль часов реального времени с литиевой батарей позволяет хранить текущую дату, независимо от наличия питания на самом устройстве. Наиболее распространённые модули RTC: DS1302 (совсем не точные), DS1307 (не очень точные), DS3231 (точные), DS3232 (точные) и др.
Модуль часов представляет собой небольшую плату, которая содержит микросхему (DS1307, DS1302, DS3231), а также сам механизм установки батарейки питания. Часы ведут отсчёт в удобных для человека единицах – минуты, часы, дни недели и другие, в отличие от обычных счётчиков и тактовых генераторов, которые считывают «тики». В Arduino имеется функция millis(), которая умеет считывать различные временные интервалы, но основным недостатком функции является сбрасывание в ноль при включении таймера.
Электронная схема модуля включает в себя микросхему, источник питания, кварцевый резонатор и резисторы. Кварцевый резонатор работает на частоте 32768 Гц, которая является удобной для обычного двоичного счетчика. В схеме DS3231 имеется встроенный кварц и термостабилизация, которые позволяют получить значения высокой точности.
Как правило, все модули работают по протоколу I2C.
Модуль можно использовать в случаях, когда данные считываются довольно редко, с интервалом в неделю и более. Это позволяет экономить на питании, так как при бесперебойном использовании придётся больше тратить напряжения, даже при наличии батарейки. Наличие памяти позволяет регистрировать различные параметры (например, измерение температуры) и считывать полученную информацию из модуля.
Модуль DS1307 собран на основе микросхемы DS1307ZN, питание поступает от литиевой батарейки для реализации автономной работы в течение длительного промежутка времени. Батарея на плате крепится на обратной стороне. На модуле имеется микросхема AT24C32 – это энергонезависимая память EEPROM на 32 Кбайт. Обе микросхемы связаны между собой шиной I2C. DS1307 обладает низким энергопотреблением и содержит часы и календарь по 2100 год.
Взаимодействие с другими устройствами и обмен с ними информацией производится с помощью интерфейса I2C с контактов SCL и SDA. В схеме установлены резисторы, которые позволяют обеспечивать необходимый уровень сигнала. Также на плате имеется специальное место для крепления датчика температуры DS18B20.Контакты распределены в 2 группы, шаг 2,54 мм.
В первой группе контактов находятся следующие выводы:
Во второй группе контактов находятся:
Чтобы подключить модуль к Arduino Uno, используются 4 вывода.
DS1307 | Arduino ----------------- GND | GND VCC | 5V SCL | A5 SDA | A4 DS | N/A
Платы Leonardo, MEGA, ADK, DUE используют другие схемы. Ищите в интернете.
Для работы с модулем реального времени существует множество библиотек. Рассмотрим библиотеку от Adafruit RTClib.
Установите её через менеджер библиотек. После установки запустите один из готовых примеров из библиотеки ds1307. В Serial Monitor установите скорость 57600. Вы увидите дату на сегодняшний день.
При запуске скетча время берётся с компьютера, поэтому сначала убедитесь, что на вашем компьютере установлены правильные дата и время.
Получение даты и времени происходит через вызов функции now(), который возвращает объект DateTime. Данный объект позволяет узнать год, месяц, день, час, минуту и секунду.
Часы реального времени DS1302 для платформы Arduino.
Контроллер Arduino (Ардуино) не имеет своих собственных часов.
А ведь эта полезная опция может решать множество задач. Например, включить полив, включить или выключить освещение, запустить отопление по дате и т. п.
Модуль часов реального времени RTC построен на базе DS1302 и требует всего 3 В для работы.
Микросхема DS1302 содержит часы реального времени с календарем и 31 байт статического ОЗУ. Она общается с микропроцессором через простой последовательный интерфейс. Информация о реальном времени и календаре представляется в секундах минутах, часах, дне, дате, месяце и годе. Если текущий месяц содержит менее 31 дня, то микросхема автоматически определит количество дней в месяце с учетом високосности текущего года. Часы работают или в 24-часовом или 12-часовом формате с индикатором AM/PM (до полудня/ после полудня). Подключение DS1302 к микропроцессу упрощено за счет синхронной последовательной связи. Для этого требуется только 3 провода: (1) RST (сброс), (2) I/O (линия данных) и (3) SCLK (синхронизация последовательной связи).
Обозначение выводов модуля:
VCC — плюс питания
GND — минус питания
CLK — тактирующий сигнал (Clock), подключают к цифровому пину на плате
DAT — подключают к цифровому пину на плате
RST — сброс, подключают к цифровому пину на плате
Модуль может использовать свой элемент питания, или запитываться непосредственно с платы Arduino.
Для работы с модулем рекомендуем установить специальную библиотеку для модулей семейства DS.
Универсальная библиотека для RTC DS1302, DS1307, DS3231 к Arduino (архив ZIP размер 16.4 КБ)
Описание
DS1307 — очень популярная микросхема часов реального времени, идеально подходящая для подсчета и хранения системного времени, и, конечно, она совместима с Arduino 🙂
Сама Arduino не поставляется с часами реального времени, хотя вы можете считать миллисекунды или секунды со временем, но как только питание отключено, потери учитываются, и не забывайте о ресурсах, необходимых для хранения даты, дня, месяца и года, а также високосного года. То же самое относится и к Raspberry Pi.
Это модуль часов реального времени, интегрированный с RTC DS1307 IC и резервным держателем батареи CR2032 (батарея не входит в комплект). Он также поставляется с дополнительной микросхемой памяти EEPROM, AT24C32 и готовой площадкой для пайки для добавления цифрового датчика температуры DS18B20 (не входит в комплект поставки), которые подключаются через шину I 2 C на плате 27 мм x 28 мм x 8,4 мм.
DS1307 — микросхема часов реального времени с низким энергопотреблением, 56 байт энергонезависимой памяти, часы с полным двоично-десятичным кодом и календарь. Адрес и данные будут передаваться по двухпроводной двунаправленной последовательной шине (I 2 C), а IC предлагает такую информацию, как секунды, минуты, часы и т. д., а количество дней в каждом месяце можно настроить автоматически. Кроме того, есть функция компенсации високосного года. Флаг AM / PM предназначен для определения того, работают ли часы в 24-часовом или 12-часовом режиме, и в чипе есть встроенная схема измерения мощности с функциями обнаружения отключения питания и переключения батареи.
AT24Cxx производятся компанией Microchip. AT24C32 на этой плате предлагает 32Кбит (8192 байта) памяти CMOS EEPROM с протоколом передачи данных по шине I 2 C, которые электрически стираются, программируются для самосинхронного цикла записи (включая время автоматического стирания не более 10 мс, типичное время 5 мс). Он поддерживает источник питания от 1,8 В до 5 В, который можно стирать миллион раз, а данные можно хранить в течение 100 лет. При использовании источника питания 5 В тактовая частота I 2 C может достигать 400 кГц.
В дополнительном датчике температуры DS18B20 используется технология с одной шиной, которая эффективно уменьшает внешние помехи и повышает точность измерений. Между тем, он может преобразовывать измеренную температуру непосредственно в последовательный цифровой сигнал для обработки микроконтроллером.
Примечание: Этот модуль не поставляется с прямым выводом, пожалуйста, получите его здесь, и вам могут понадобиться инструменты для пайки.
Примечание: Мы заметили, что эта плата поставляется со схемой для зарядки LIR2032. Поскольку этот тип батареи не распространен и дорог, многие используют этот модуль с CR2032, который вы можете получить здесь. Мы протестировали его более 1 недели без проблем. Используйте на свой риск !
Особенности
Список упаковки
Ресурсы
Вопросы и ответы (2)
Подойдет для мейкера уно? ( Лим , 26.04.2020 )
Привет, да подходит. Спасибо 🙂
Подходит ли это для использования Maker uno? ( Лим , 25.04.2020 )
Привет, да подходит. Спасибо 🙂
Ваше имя
Электронная почта
Ваш вопрос
Отзывы (68)
5 из 5
Всего отзывов (68)
5
95.59%
4
4.41%
3
0%
2
0%
1
0%
Метки: РТК, Часы реального времени, ДС1307, АТ24С32, Резервное копирование, Внешняя память
Параметры модуля:
1 Размер: 38 мм (длина) * 22 мм (Ш) * 14 мм (высота)
2 Вес: 8 г
3 Рабочее напряжение: 3,3–5,5 В
4 Чип часов: высокоточный чип часов DS3231
5 Точность часов: диапазон 0-40 ℃, точность 2 ppm, погрешность около 1 минуты
6 будильник с календарем с двумя
7 программируемый прямоугольный выходной сигнал
8 Генератор часов реального времени секунды, минуты, часы, день, дата , месяц и год и обеспечить действующую до 2100 года компенсацию високосного года
9 чипов Датчик температуры поставляется с точностью ± 3℃
10 чипов памяти: AT24C32 (объем памяти 32К)
11.