Описание
Модуль представляет собой обновленную версию RTC семейства для плат Arduino: так, на смену DS1307 с кварцевым генератором пришел DS3231. С новой версией повысилась точность измерений: внутри микросхемы теперь есть датчик температуры, который компенсирует погрешность в измерениях, а они возникают из-за влияния изменения температуры на показания с кварцевого генератора. С помощью чипа DS3231 можно считать время в секундах, минутах, часах, днях недели, вплоть до года. А еще он умеет правильно определять число дней в месяце и считает високосные годы (до 2100 года).
Помимо одноименной микросхемы на плате модуля расположен светодиодный индикатор питания Power и различные контакты, в том числе: 4 контакта (на схеме они подписаны слева) для подключения к контроллеру (по I2C контроллеру):
- SCL (к контакту A4 на Arduino, номер для версии Mega — 20; Leonardo — 2),
- SDA (к контакту A5, для версии Mega — 21; Leonardo — 3),
- VCC (подается +),
- GND (заземление).
- Еще 4 контакта с другой стороны модуля: для параллельного подключения по шине I2C. 32K и SQW используются для подтяжки этих двух контактов с SCL и SDA по шине I2C (через резистор на 4,7 кОм).
- A0, A1, A2 — для смены адресации микросхемы памяти AT24C32N.
Зачем нужен модуль часов реального времени, если на плате Arduino уже есть встроенный таймер? В платах Arduino есть встроенный таймер, к которому можно обратиться через функцию millis(), однако подсчет времени в нем ведется с момента подачи питания на контроллер. При последующей перезагрузке таймер сбросит свое значение и начнет отсчет с нуля. RTC модули (в том числе, DS3231) имеют разъем для подключения батарейки, а значит всегда смогут считать время, даже если плата Arduino выключена. В данном случае батарейки может хватить на несколько лет.